/******************************************************************************** * * * This file is part of IfcOpenShell. * * * * IfcOpenShell is free software: you can redistribute it and/or modify * * it under the terms of the Lesser GNU General Public License as published by * * the Free Software Foundation, either version 3.0 of the License, or * * (at your option) any later version. * * * * IfcOpenShell is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * Lesser GNU General Public License for more details. * * * * You should have received a copy of the Lesser GNU General Public License * * along with this program. If not, see . * * * ********************************************************************************/ /******************************************************************************** * * * This file has been generated from IFC4.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ #include "../ifcparse/Ifc4.h" #include "../ifcparse/IfcSchema.h" #include "../ifcparse/IfcException.h" #include "../ifcparse/IfcWrite.h" #include const char* const Ifc4::Identifier = "IFC4"; using namespace IfcParse; using namespace IfcWrite; // External definitions extern entity* IFC4_IfcActionRequest_type; extern entity* IFC4_IfcActor_type; extern entity* IFC4_IfcActorRole_type; extern entity* IFC4_IfcActuator_type; extern entity* IFC4_IfcActuatorType_type; extern entity* IFC4_IfcAddress_type; extern entity* IFC4_IfcAdvancedBrep_type; extern entity* IFC4_IfcAdvancedBrepWithVoids_type; extern entity* IFC4_IfcAdvancedFace_type; extern entity* IFC4_IfcAirTerminal_type; extern entity* IFC4_IfcAirTerminalBox_type; extern entity* IFC4_IfcAirTerminalBoxType_type; extern entity* IFC4_IfcAirTerminalType_type; extern entity* IFC4_IfcAirToAirHeatRecovery_type; extern entity* IFC4_IfcAirToAirHeatRecoveryType_type; extern entity* IFC4_IfcAlarm_type; extern entity* IFC4_IfcAlarmType_type; extern entity* IFC4_IfcAnnotation_type; extern entity* IFC4_IfcAnnotationFillArea_type; extern entity* IFC4_IfcApplication_type; extern entity* IFC4_IfcAppliedValue_type; extern entity* IFC4_IfcApproval_type; extern entity* IFC4_IfcApprovalRelationship_type; extern entity* IFC4_IfcArbitraryClosedProfileDef_type; extern entity* IFC4_IfcArbitraryOpenProfileDef_type; extern entity* IFC4_IfcArbitraryProfileDefWithVoids_type; extern entity* IFC4_IfcAsset_type; extern entity* IFC4_IfcAsymmetricIShapeProfileDef_type; extern entity* IFC4_IfcAudioVisualAppliance_type; extern entity* IFC4_IfcAudioVisualApplianceType_type; extern entity* IFC4_IfcAxis1Placement_type; extern entity* IFC4_IfcAxis2Placement2D_type; extern entity* IFC4_IfcAxis2Placement3D_type; extern entity* IFC4_IfcBSplineCurve_type; extern entity* IFC4_IfcBSplineCurveWithKnots_type; extern entity* IFC4_IfcBSplineSurface_type; extern entity* IFC4_IfcBSplineSurfaceWithKnots_type; extern entity* IFC4_IfcBeam_type; extern entity* IFC4_IfcBeamStandardCase_type; extern entity* IFC4_IfcBeamType_type; extern entity* IFC4_IfcBlobTexture_type; extern entity* IFC4_IfcBlock_type; extern entity* IFC4_IfcBoiler_type; extern entity* IFC4_IfcBoilerType_type; extern entity* IFC4_IfcBooleanClippingResult_type; extern entity* IFC4_IfcBooleanResult_type; extern entity* IFC4_IfcBoundaryCondition_type; extern entity* IFC4_IfcBoundaryCurve_type; extern entity* IFC4_IfcBoundaryEdgeCondition_type; extern entity* IFC4_IfcBoundaryFaceCondition_type; extern entity* IFC4_IfcBoundaryNodeCondition_type; extern entity* IFC4_IfcBoundaryNodeConditionWarping_type; extern entity* IFC4_IfcBoundedCurve_type; extern entity* IFC4_IfcBoundedSurface_type; extern entity* IFC4_IfcBoundingBox_type; extern entity* IFC4_IfcBoxedHalfSpace_type; extern entity* IFC4_IfcBuilding_type; extern entity* IFC4_IfcBuildingElement_type; extern entity* IFC4_IfcBuildingElementPart_type; extern entity* IFC4_IfcBuildingElementPartType_type; extern entity* IFC4_IfcBuildingElementProxy_type; extern entity* IFC4_IfcBuildingElementProxyType_type; extern entity* IFC4_IfcBuildingElementType_type; extern entity* IFC4_IfcBuildingStorey_type; extern entity* IFC4_IfcBuildingSystem_type; extern entity* IFC4_IfcBurner_type; extern entity* IFC4_IfcBurnerType_type; extern entity* IFC4_IfcCShapeProfileDef_type; extern entity* IFC4_IfcCableCarrierFitting_type; extern entity* IFC4_IfcCableCarrierFittingType_type; extern entity* IFC4_IfcCableCarrierSegment_type; extern entity* IFC4_IfcCableCarrierSegmentType_type; extern entity* IFC4_IfcCableFitting_type; extern entity* IFC4_IfcCableFittingType_type; extern entity* IFC4_IfcCableSegment_type; extern entity* IFC4_IfcCableSegmentType_type; extern entity* IFC4_IfcCartesianPoint_type; extern entity* IFC4_IfcCartesianPointList_type; extern entity* IFC4_IfcCartesianPointList2D_type; extern entity* IFC4_IfcCartesianPointList3D_type; extern entity* IFC4_IfcCartesianTransformationOperator_type; extern entity* IFC4_IfcCartesianTransformationOperator2D_type; extern entity* IFC4_IfcCartesianTransformationOperator2DnonUniform_type; extern entity* IFC4_IfcCartesianTransformationOperator3D_type; extern entity* IFC4_IfcCartesianTransformationOperator3DnonUniform_type; extern entity* IFC4_IfcCenterLineProfileDef_type; extern entity* IFC4_IfcChiller_type; extern entity* IFC4_IfcChillerType_type; extern entity* IFC4_IfcChimney_type; extern entity* IFC4_IfcChimneyType_type; extern entity* IFC4_IfcCircle_type; extern entity* IFC4_IfcCircleHollowProfileDef_type; extern entity* IFC4_IfcCircleProfileDef_type; extern entity* IFC4_IfcCivilElement_type; extern entity* IFC4_IfcCivilElementType_type; extern entity* IFC4_IfcClassification_type; extern entity* IFC4_IfcClassificationReference_type; extern entity* IFC4_IfcClosedShell_type; extern entity* IFC4_IfcCoil_type; extern entity* IFC4_IfcCoilType_type; extern entity* IFC4_IfcColourRgb_type; extern entity* IFC4_IfcColourRgbList_type; extern entity* IFC4_IfcColourSpecification_type; extern entity* IFC4_IfcColumn_type; extern entity* IFC4_IfcColumnStandardCase_type; extern entity* IFC4_IfcColumnType_type; extern entity* IFC4_IfcCommunicationsAppliance_type; extern entity* IFC4_IfcCommunicationsApplianceType_type; extern entity* IFC4_IfcComplexProperty_type; extern entity* IFC4_IfcComplexPropertyTemplate_type; extern entity* IFC4_IfcCompositeCurve_type; extern entity* IFC4_IfcCompositeCurveOnSurface_type; extern entity* IFC4_IfcCompositeCurveSegment_type; extern entity* IFC4_IfcCompositeProfileDef_type; extern entity* IFC4_IfcCompressor_type; extern entity* IFC4_IfcCompressorType_type; extern entity* IFC4_IfcCondenser_type; extern entity* IFC4_IfcCondenserType_type; extern entity* IFC4_IfcConic_type; extern entity* IFC4_IfcConnectedFaceSet_type; extern entity* IFC4_IfcConnectionCurveGeometry_type; extern entity* IFC4_IfcConnectionGeometry_type; extern entity* IFC4_IfcConnectionPointEccentricity_type; extern entity* IFC4_IfcConnectionPointGeometry_type; extern entity* IFC4_IfcConnectionSurfaceGeometry_type; extern entity* IFC4_IfcConnectionVolumeGeometry_type; extern entity* IFC4_IfcConstraint_type; extern entity* IFC4_IfcConstructionEquipmentResource_type; extern entity* IFC4_IfcConstructionEquipmentResourceType_type; extern entity* IFC4_IfcConstructionMaterialResource_type; extern entity* IFC4_IfcConstructionMaterialResourceType_type; extern entity* IFC4_IfcConstructionProductResource_type; extern entity* IFC4_IfcConstructionProductResourceType_type; extern entity* IFC4_IfcConstructionResource_type; extern entity* IFC4_IfcConstructionResourceType_type; extern entity* IFC4_IfcContext_type; extern entity* IFC4_IfcContextDependentUnit_type; extern entity* IFC4_IfcControl_type; extern entity* IFC4_IfcController_type; extern entity* IFC4_IfcControllerType_type; extern entity* IFC4_IfcConversionBasedUnit_type; extern entity* IFC4_IfcConversionBasedUnitWithOffset_type; extern entity* IFC4_IfcCooledBeam_type; extern entity* IFC4_IfcCooledBeamType_type; extern entity* IFC4_IfcCoolingTower_type; extern entity* IFC4_IfcCoolingTowerType_type; extern entity* IFC4_IfcCoordinateOperation_type; extern entity* IFC4_IfcCoordinateReferenceSystem_type; extern entity* IFC4_IfcCostItem_type; extern entity* IFC4_IfcCostSchedule_type; extern entity* IFC4_IfcCostValue_type; extern entity* IFC4_IfcCovering_type; extern entity* IFC4_IfcCoveringType_type; extern entity* IFC4_IfcCrewResource_type; extern entity* IFC4_IfcCrewResourceType_type; extern entity* IFC4_IfcCsgPrimitive3D_type; extern entity* IFC4_IfcCsgSolid_type; extern entity* IFC4_IfcCurrencyRelationship_type; extern entity* IFC4_IfcCurtainWall_type; extern entity* IFC4_IfcCurtainWallType_type; extern entity* IFC4_IfcCurve_type; extern entity* IFC4_IfcCurveBoundedPlane_type; extern entity* IFC4_IfcCurveBoundedSurface_type; extern entity* IFC4_IfcCurveStyle_type; extern entity* IFC4_IfcCurveStyleFont_type; extern entity* IFC4_IfcCurveStyleFontAndScaling_type; extern entity* IFC4_IfcCurveStyleFontPattern_type; extern entity* IFC4_IfcCylindricalSurface_type; extern entity* IFC4_IfcDamper_type; extern entity* IFC4_IfcDamperType_type; extern entity* IFC4_IfcDerivedProfileDef_type; extern entity* IFC4_IfcDerivedUnit_type; extern entity* IFC4_IfcDerivedUnitElement_type; extern entity* IFC4_IfcDimensionalExponents_type; extern entity* IFC4_IfcDirection_type; extern entity* IFC4_IfcDiscreteAccessory_type; extern entity* IFC4_IfcDiscreteAccessoryType_type; extern entity* IFC4_IfcDistributionChamberElement_type; extern entity* IFC4_IfcDistributionChamberElementType_type; extern entity* IFC4_IfcDistributionCircuit_type; extern entity* IFC4_IfcDistributionControlElement_type; extern entity* IFC4_IfcDistributionControlElementType_type; extern entity* IFC4_IfcDistributionElement_type; extern entity* IFC4_IfcDistributionElementType_type; extern entity* IFC4_IfcDistributionFlowElement_type; extern entity* IFC4_IfcDistributionFlowElementType_type; extern entity* IFC4_IfcDistributionPort_type; extern entity* IFC4_IfcDistributionSystem_type; extern entity* IFC4_IfcDocumentInformation_type; extern entity* IFC4_IfcDocumentInformationRelationship_type; extern entity* IFC4_IfcDocumentReference_type; extern entity* IFC4_IfcDoor_type; extern entity* IFC4_IfcDoorLiningProperties_type; extern entity* IFC4_IfcDoorPanelProperties_type; extern entity* IFC4_IfcDoorStandardCase_type; extern entity* IFC4_IfcDoorStyle_type; extern entity* IFC4_IfcDoorType_type; extern entity* IFC4_IfcDraughtingPreDefinedColour_type; extern entity* IFC4_IfcDraughtingPreDefinedCurveFont_type; extern entity* IFC4_IfcDuctFitting_type; extern entity* IFC4_IfcDuctFittingType_type; extern entity* IFC4_IfcDuctSegment_type; extern entity* IFC4_IfcDuctSegmentType_type; extern entity* IFC4_IfcDuctSilencer_type; extern entity* IFC4_IfcDuctSilencerType_type; extern entity* IFC4_IfcEdge_type; extern entity* IFC4_IfcEdgeCurve_type; extern entity* IFC4_IfcEdgeLoop_type; extern entity* IFC4_IfcElectricAppliance_type; extern entity* IFC4_IfcElectricApplianceType_type; extern entity* IFC4_IfcElectricDistributionBoard_type; extern entity* IFC4_IfcElectricDistributionBoardType_type; extern entity* IFC4_IfcElectricFlowStorageDevice_type; extern entity* IFC4_IfcElectricFlowStorageDeviceType_type; extern entity* IFC4_IfcElectricGenerator_type; extern entity* IFC4_IfcElectricGeneratorType_type; extern entity* IFC4_IfcElectricMotor_type; extern entity* IFC4_IfcElectricMotorType_type; extern entity* IFC4_IfcElectricTimeControl_type; extern entity* IFC4_IfcElectricTimeControlType_type; extern entity* IFC4_IfcElement_type; extern entity* IFC4_IfcElementAssembly_type; extern entity* IFC4_IfcElementAssemblyType_type; extern entity* IFC4_IfcElementComponent_type; extern entity* IFC4_IfcElementComponentType_type; extern entity* IFC4_IfcElementQuantity_type; extern entity* IFC4_IfcElementType_type; extern entity* IFC4_IfcElementarySurface_type; extern entity* IFC4_IfcEllipse_type; extern entity* IFC4_IfcEllipseProfileDef_type; extern entity* IFC4_IfcEnergyConversionDevice_type; extern entity* IFC4_IfcEnergyConversionDeviceType_type; extern entity* IFC4_IfcEngine_type; extern entity* IFC4_IfcEngineType_type; extern entity* IFC4_IfcEvaporativeCooler_type; extern entity* IFC4_IfcEvaporativeCoolerType_type; extern entity* IFC4_IfcEvaporator_type; extern entity* IFC4_IfcEvaporatorType_type; extern entity* IFC4_IfcEvent_type; extern entity* IFC4_IfcEventTime_type; extern entity* IFC4_IfcEventType_type; extern entity* IFC4_IfcExtendedProperties_type; extern entity* IFC4_IfcExternalInformation_type; extern entity* IFC4_IfcExternalReference_type; extern entity* IFC4_IfcExternalReferenceRelationship_type; extern entity* IFC4_IfcExternalSpatialElement_type; extern entity* IFC4_IfcExternalSpatialStructureElement_type; extern entity* IFC4_IfcExternallyDefinedHatchStyle_type; extern entity* IFC4_IfcExternallyDefinedSurfaceStyle_type; extern entity* IFC4_IfcExternallyDefinedTextFont_type; extern entity* IFC4_IfcExtrudedAreaSolid_type; extern entity* IFC4_IfcExtrudedAreaSolidTapered_type; extern entity* IFC4_IfcFace_type; extern entity* IFC4_IfcFaceBasedSurfaceModel_type; extern entity* IFC4_IfcFaceBound_type; extern entity* IFC4_IfcFaceOuterBound_type; extern entity* IFC4_IfcFaceSurface_type; extern entity* IFC4_IfcFacetedBrep_type; extern entity* IFC4_IfcFacetedBrepWithVoids_type; extern entity* IFC4_IfcFailureConnectionCondition_type; extern entity* IFC4_IfcFan_type; extern entity* IFC4_IfcFanType_type; extern entity* IFC4_IfcFastener_type; extern entity* IFC4_IfcFastenerType_type; extern entity* IFC4_IfcFeatureElement_type; extern entity* IFC4_IfcFeatureElementAddition_type; extern entity* IFC4_IfcFeatureElementSubtraction_type; extern entity* IFC4_IfcFillAreaStyle_type; extern entity* IFC4_IfcFillAreaStyleHatching_type; extern entity* IFC4_IfcFillAreaStyleTiles_type; extern entity* IFC4_IfcFilter_type; extern entity* IFC4_IfcFilterType_type; extern entity* IFC4_IfcFireSuppressionTerminal_type; extern entity* IFC4_IfcFireSuppressionTerminalType_type; extern entity* IFC4_IfcFixedReferenceSweptAreaSolid_type; extern entity* IFC4_IfcFlowController_type; extern entity* IFC4_IfcFlowControllerType_type; extern entity* IFC4_IfcFlowFitting_type; extern entity* IFC4_IfcFlowFittingType_type; extern entity* IFC4_IfcFlowInstrument_type; extern entity* IFC4_IfcFlowInstrumentType_type; extern entity* IFC4_IfcFlowMeter_type; extern entity* IFC4_IfcFlowMeterType_type; extern entity* IFC4_IfcFlowMovingDevice_type; extern entity* IFC4_IfcFlowMovingDeviceType_type; extern entity* IFC4_IfcFlowSegment_type; extern entity* IFC4_IfcFlowSegmentType_type; extern entity* IFC4_IfcFlowStorageDevice_type; extern entity* IFC4_IfcFlowStorageDeviceType_type; extern entity* IFC4_IfcFlowTerminal_type; extern entity* IFC4_IfcFlowTerminalType_type; extern entity* IFC4_IfcFlowTreatmentDevice_type; extern entity* IFC4_IfcFlowTreatmentDeviceType_type; extern entity* IFC4_IfcFooting_type; extern entity* IFC4_IfcFootingType_type; extern entity* IFC4_IfcFurnishingElement_type; extern entity* IFC4_IfcFurnishingElementType_type; extern entity* IFC4_IfcFurniture_type; extern entity* IFC4_IfcFurnitureType_type; extern entity* IFC4_IfcGeographicElement_type; extern entity* IFC4_IfcGeographicElementType_type; extern entity* IFC4_IfcGeometricCurveSet_type; extern entity* IFC4_IfcGeometricRepresentationContext_type; extern entity* IFC4_IfcGeometricRepresentationItem_type; extern entity* IFC4_IfcGeometricRepresentationSubContext_type; extern entity* IFC4_IfcGeometricSet_type; extern entity* IFC4_IfcGrid_type; extern entity* IFC4_IfcGridAxis_type; extern entity* IFC4_IfcGridPlacement_type; extern entity* IFC4_IfcGroup_type; extern entity* IFC4_IfcHalfSpaceSolid_type; extern entity* IFC4_IfcHeatExchanger_type; extern entity* IFC4_IfcHeatExchangerType_type; extern entity* IFC4_IfcHumidifier_type; extern entity* IFC4_IfcHumidifierType_type; extern entity* IFC4_IfcIShapeProfileDef_type; extern entity* IFC4_IfcImageTexture_type; extern entity* IFC4_IfcIndexedColourMap_type; extern entity* IFC4_IfcIndexedPolyCurve_type; extern entity* IFC4_IfcIndexedPolygonalFace_type; extern entity* IFC4_IfcIndexedPolygonalFaceWithVoids_type; extern entity* IFC4_IfcIndexedTextureMap_type; extern entity* IFC4_IfcIndexedTriangleTextureMap_type; extern entity* IFC4_IfcInterceptor_type; extern entity* IFC4_IfcInterceptorType_type; extern entity* IFC4_IfcIntersectionCurve_type; extern entity* IFC4_IfcInventory_type; extern entity* IFC4_IfcIrregularTimeSeries_type; extern entity* IFC4_IfcIrregularTimeSeriesValue_type; extern entity* IFC4_IfcJunctionBox_type; extern entity* IFC4_IfcJunctionBoxType_type; extern entity* IFC4_IfcLShapeProfileDef_type; extern entity* IFC4_IfcLaborResource_type; extern entity* IFC4_IfcLaborResourceType_type; extern entity* IFC4_IfcLagTime_type; extern entity* IFC4_IfcLamp_type; extern entity* IFC4_IfcLampType_type; extern entity* IFC4_IfcLibraryInformation_type; extern entity* IFC4_IfcLibraryReference_type; extern entity* IFC4_IfcLightDistributionData_type; extern entity* IFC4_IfcLightFixture_type; extern entity* IFC4_IfcLightFixtureType_type; extern entity* IFC4_IfcLightIntensityDistribution_type; extern entity* IFC4_IfcLightSource_type; extern entity* IFC4_IfcLightSourceAmbient_type; extern entity* IFC4_IfcLightSourceDirectional_type; extern entity* IFC4_IfcLightSourceGoniometric_type; extern entity* IFC4_IfcLightSourcePositional_type; extern entity* IFC4_IfcLightSourceSpot_type; extern entity* IFC4_IfcLine_type; extern entity* IFC4_IfcLocalPlacement_type; extern entity* IFC4_IfcLoop_type; extern entity* IFC4_IfcManifoldSolidBrep_type; extern entity* IFC4_IfcMapConversion_type; extern entity* IFC4_IfcMappedItem_type; extern entity* IFC4_IfcMaterial_type; extern entity* IFC4_IfcMaterialClassificationRelationship_type; extern entity* IFC4_IfcMaterialConstituent_type; extern entity* IFC4_IfcMaterialConstituentSet_type; extern entity* IFC4_IfcMaterialDefinition_type; extern entity* IFC4_IfcMaterialDefinitionRepresentation_type; extern entity* IFC4_IfcMaterialLayer_type; extern entity* IFC4_IfcMaterialLayerSet_type; extern entity* IFC4_IfcMaterialLayerSetUsage_type; extern entity* IFC4_IfcMaterialLayerWithOffsets_type; extern entity* IFC4_IfcMaterialList_type; extern entity* IFC4_IfcMaterialProfile_type; extern entity* IFC4_IfcMaterialProfileSet_type; extern entity* IFC4_IfcMaterialProfileSetUsage_type; extern entity* IFC4_IfcMaterialProfileSetUsageTapering_type; extern entity* IFC4_IfcMaterialProfileWithOffsets_type; extern entity* IFC4_IfcMaterialProperties_type; extern entity* IFC4_IfcMaterialRelationship_type; extern entity* IFC4_IfcMaterialUsageDefinition_type; extern entity* IFC4_IfcMeasureWithUnit_type; extern entity* IFC4_IfcMechanicalFastener_type; extern entity* IFC4_IfcMechanicalFastenerType_type; extern entity* IFC4_IfcMedicalDevice_type; extern entity* IFC4_IfcMedicalDeviceType_type; extern entity* IFC4_IfcMember_type; extern entity* IFC4_IfcMemberStandardCase_type; extern entity* IFC4_IfcMemberType_type; extern entity* IFC4_IfcMetric_type; extern entity* IFC4_IfcMirroredProfileDef_type; extern entity* IFC4_IfcMonetaryUnit_type; extern entity* IFC4_IfcMotorConnection_type; extern entity* IFC4_IfcMotorConnectionType_type; extern entity* IFC4_IfcNamedUnit_type; extern entity* IFC4_IfcObject_type; extern entity* IFC4_IfcObjectDefinition_type; extern entity* IFC4_IfcObjectPlacement_type; extern entity* IFC4_IfcObjective_type; extern entity* IFC4_IfcOccupant_type; extern entity* IFC4_IfcOffsetCurve2D_type; extern entity* IFC4_IfcOffsetCurve3D_type; extern entity* IFC4_IfcOpenShell_type; extern entity* IFC4_IfcOpeningElement_type; extern entity* IFC4_IfcOpeningStandardCase_type; extern entity* IFC4_IfcOrganization_type; extern entity* IFC4_IfcOrganizationRelationship_type; extern entity* IFC4_IfcOrientedEdge_type; extern entity* IFC4_IfcOuterBoundaryCurve_type; extern entity* IFC4_IfcOutlet_type; extern entity* IFC4_IfcOutletType_type; extern entity* IFC4_IfcOwnerHistory_type; extern entity* IFC4_IfcParameterizedProfileDef_type; extern entity* IFC4_IfcPath_type; extern entity* IFC4_IfcPcurve_type; extern entity* IFC4_IfcPerformanceHistory_type; extern entity* IFC4_IfcPermeableCoveringProperties_type; extern entity* IFC4_IfcPermit_type; extern entity* IFC4_IfcPerson_type; extern entity* IFC4_IfcPersonAndOrganization_type; extern entity* IFC4_IfcPhysicalComplexQuantity_type; extern entity* IFC4_IfcPhysicalQuantity_type; extern entity* IFC4_IfcPhysicalSimpleQuantity_type; extern entity* IFC4_IfcPile_type; extern entity* IFC4_IfcPileType_type; extern entity* IFC4_IfcPipeFitting_type; extern entity* IFC4_IfcPipeFittingType_type; extern entity* IFC4_IfcPipeSegment_type; extern entity* IFC4_IfcPipeSegmentType_type; extern entity* IFC4_IfcPixelTexture_type; extern entity* IFC4_IfcPlacement_type; extern entity* IFC4_IfcPlanarBox_type; extern entity* IFC4_IfcPlanarExtent_type; extern entity* IFC4_IfcPlane_type; extern entity* IFC4_IfcPlate_type; extern entity* IFC4_IfcPlateStandardCase_type; extern entity* IFC4_IfcPlateType_type; extern entity* IFC4_IfcPoint_type; extern entity* IFC4_IfcPointOnCurve_type; extern entity* IFC4_IfcPointOnSurface_type; extern entity* IFC4_IfcPolyLoop_type; extern entity* IFC4_IfcPolygonalBoundedHalfSpace_type; extern entity* IFC4_IfcPolygonalFaceSet_type; extern entity* IFC4_IfcPolyline_type; extern entity* IFC4_IfcPort_type; extern entity* IFC4_IfcPostalAddress_type; extern entity* IFC4_IfcPreDefinedColour_type; extern entity* IFC4_IfcPreDefinedCurveFont_type; extern entity* IFC4_IfcPreDefinedItem_type; extern entity* IFC4_IfcPreDefinedProperties_type; extern entity* IFC4_IfcPreDefinedPropertySet_type; extern entity* IFC4_IfcPreDefinedTextFont_type; extern entity* IFC4_IfcPresentationItem_type; extern entity* IFC4_IfcPresentationLayerAssignment_type; extern entity* IFC4_IfcPresentationLayerWithStyle_type; extern entity* IFC4_IfcPresentationStyle_type; extern entity* IFC4_IfcPresentationStyleAssignment_type; extern entity* IFC4_IfcProcedure_type; extern entity* IFC4_IfcProcedureType_type; extern entity* IFC4_IfcProcess_type; extern entity* IFC4_IfcProduct_type; extern entity* IFC4_IfcProductDefinitionShape_type; extern entity* IFC4_IfcProductRepresentation_type; extern entity* IFC4_IfcProfileDef_type; extern entity* IFC4_IfcProfileProperties_type; extern entity* IFC4_IfcProject_type; extern entity* IFC4_IfcProjectLibrary_type; extern entity* IFC4_IfcProjectOrder_type; extern entity* IFC4_IfcProjectedCRS_type; extern entity* IFC4_IfcProjectionElement_type; extern entity* IFC4_IfcProperty_type; extern entity* IFC4_IfcPropertyAbstraction_type; extern entity* IFC4_IfcPropertyBoundedValue_type; extern entity* IFC4_IfcPropertyDefinition_type; extern entity* IFC4_IfcPropertyDependencyRelationship_type; extern entity* IFC4_IfcPropertyEnumeratedValue_type; extern entity* IFC4_IfcPropertyEnumeration_type; extern entity* IFC4_IfcPropertyListValue_type; extern entity* IFC4_IfcPropertyReferenceValue_type; extern entity* IFC4_IfcPropertySet_type; extern entity* IFC4_IfcPropertySetDefinition_type; extern entity* IFC4_IfcPropertySetTemplate_type; extern entity* IFC4_IfcPropertySingleValue_type; extern entity* IFC4_IfcPropertyTableValue_type; extern entity* IFC4_IfcPropertyTemplate_type; extern entity* IFC4_IfcPropertyTemplateDefinition_type; extern entity* IFC4_IfcProtectiveDevice_type; extern entity* IFC4_IfcProtectiveDeviceTrippingUnit_type; extern entity* IFC4_IfcProtectiveDeviceTrippingUnitType_type; extern entity* IFC4_IfcProtectiveDeviceType_type; extern entity* IFC4_IfcProxy_type; extern entity* IFC4_IfcPump_type; extern entity* IFC4_IfcPumpType_type; extern entity* IFC4_IfcQuantityArea_type; extern entity* IFC4_IfcQuantityCount_type; extern entity* IFC4_IfcQuantityLength_type; extern entity* IFC4_IfcQuantitySet_type; extern entity* IFC4_IfcQuantityTime_type; extern entity* IFC4_IfcQuantityVolume_type; extern entity* IFC4_IfcQuantityWeight_type; extern entity* IFC4_IfcRailing_type; extern entity* IFC4_IfcRailingType_type; extern entity* IFC4_IfcRamp_type; extern entity* IFC4_IfcRampFlight_type; extern entity* IFC4_IfcRampFlightType_type; extern entity* IFC4_IfcRampType_type; extern entity* IFC4_IfcRationalBSplineCurveWithKnots_type; extern entity* IFC4_IfcRationalBSplineSurfaceWithKnots_type; extern entity* IFC4_IfcRectangleHollowProfileDef_type; extern entity* IFC4_IfcRectangleProfileDef_type; extern entity* IFC4_IfcRectangularPyramid_type; extern entity* IFC4_IfcRectangularTrimmedSurface_type; extern entity* IFC4_IfcRecurrencePattern_type; extern entity* IFC4_IfcReference_type; extern entity* IFC4_IfcRegularTimeSeries_type; extern entity* IFC4_IfcReinforcementBarProperties_type; extern entity* IFC4_IfcReinforcementDefinitionProperties_type; extern entity* IFC4_IfcReinforcingBar_type; extern entity* IFC4_IfcReinforcingBarType_type; extern entity* IFC4_IfcReinforcingElement_type; extern entity* IFC4_IfcReinforcingElementType_type; extern entity* IFC4_IfcReinforcingMesh_type; extern entity* IFC4_IfcReinforcingMeshType_type; extern entity* IFC4_IfcRelAggregates_type; extern entity* IFC4_IfcRelAssigns_type; extern entity* IFC4_IfcRelAssignsToActor_type; extern entity* IFC4_IfcRelAssignsToControl_type; extern entity* IFC4_IfcRelAssignsToGroup_type; extern entity* IFC4_IfcRelAssignsToGroupByFactor_type; extern entity* IFC4_IfcRelAssignsToProcess_type; extern entity* IFC4_IfcRelAssignsToProduct_type; extern entity* IFC4_IfcRelAssignsToResource_type; extern entity* IFC4_IfcRelAssociates_type; extern entity* IFC4_IfcRelAssociatesApproval_type; extern entity* IFC4_IfcRelAssociatesClassification_type; extern entity* IFC4_IfcRelAssociatesConstraint_type; extern entity* IFC4_IfcRelAssociatesDocument_type; extern entity* IFC4_IfcRelAssociatesLibrary_type; extern entity* IFC4_IfcRelAssociatesMaterial_type; extern entity* IFC4_IfcRelConnects_type; extern entity* IFC4_IfcRelConnectsElements_type; extern entity* IFC4_IfcRelConnectsPathElements_type; extern entity* IFC4_IfcRelConnectsPortToElement_type; extern entity* IFC4_IfcRelConnectsPorts_type; extern entity* IFC4_IfcRelConnectsStructuralActivity_type; extern entity* IFC4_IfcRelConnectsStructuralMember_type; extern entity* IFC4_IfcRelConnectsWithEccentricity_type; extern entity* IFC4_IfcRelConnectsWithRealizingElements_type; extern entity* IFC4_IfcRelContainedInSpatialStructure_type; extern entity* IFC4_IfcRelCoversBldgElements_type; extern entity* IFC4_IfcRelCoversSpaces_type; extern entity* IFC4_IfcRelDeclares_type; extern entity* IFC4_IfcRelDecomposes_type; extern entity* IFC4_IfcRelDefines_type; extern entity* IFC4_IfcRelDefinesByObject_type; extern entity* IFC4_IfcRelDefinesByProperties_type; extern entity* IFC4_IfcRelDefinesByTemplate_type; extern entity* IFC4_IfcRelDefinesByType_type; extern entity* IFC4_IfcRelFillsElement_type; extern entity* IFC4_IfcRelFlowControlElements_type; extern entity* IFC4_IfcRelInterferesElements_type; extern entity* IFC4_IfcRelNests_type; extern entity* IFC4_IfcRelProjectsElement_type; extern entity* IFC4_IfcRelReferencedInSpatialStructure_type; extern entity* IFC4_IfcRelSequence_type; extern entity* IFC4_IfcRelServicesBuildings_type; extern entity* IFC4_IfcRelSpaceBoundary_type; extern entity* IFC4_IfcRelSpaceBoundary1stLevel_type; extern entity* IFC4_IfcRelSpaceBoundary2ndLevel_type; extern entity* IFC4_IfcRelVoidsElement_type; extern entity* IFC4_IfcRelationship_type; extern entity* IFC4_IfcReparametrisedCompositeCurveSegment_type; extern entity* IFC4_IfcRepresentation_type; extern entity* IFC4_IfcRepresentationContext_type; extern entity* IFC4_IfcRepresentationItem_type; extern entity* IFC4_IfcRepresentationMap_type; extern entity* IFC4_IfcResource_type; extern entity* IFC4_IfcResourceApprovalRelationship_type; extern entity* IFC4_IfcResourceConstraintRelationship_type; extern entity* IFC4_IfcResourceLevelRelationship_type; extern entity* IFC4_IfcResourceTime_type; extern entity* IFC4_IfcRevolvedAreaSolid_type; extern entity* IFC4_IfcRevolvedAreaSolidTapered_type; extern entity* IFC4_IfcRightCircularCone_type; extern entity* IFC4_IfcRightCircularCylinder_type; extern entity* IFC4_IfcRoof_type; extern entity* IFC4_IfcRoofType_type; extern entity* IFC4_IfcRoot_type; extern entity* IFC4_IfcRoundedRectangleProfileDef_type; extern entity* IFC4_IfcSIUnit_type; extern entity* IFC4_IfcSanitaryTerminal_type; extern entity* IFC4_IfcSanitaryTerminalType_type; extern entity* IFC4_IfcSchedulingTime_type; extern entity* IFC4_IfcSeamCurve_type; extern entity* IFC4_IfcSectionProperties_type; extern entity* IFC4_IfcSectionReinforcementProperties_type; extern entity* IFC4_IfcSectionedSpine_type; extern entity* IFC4_IfcSensor_type; extern entity* IFC4_IfcSensorType_type; extern entity* IFC4_IfcShadingDevice_type; extern entity* IFC4_IfcShadingDeviceType_type; extern entity* IFC4_IfcShapeAspect_type; extern entity* IFC4_IfcShapeModel_type; extern entity* IFC4_IfcShapeRepresentation_type; extern entity* IFC4_IfcShellBasedSurfaceModel_type; extern entity* IFC4_IfcSimpleProperty_type; extern entity* IFC4_IfcSimplePropertyTemplate_type; extern entity* IFC4_IfcSite_type; extern entity* IFC4_IfcSlab_type; extern entity* IFC4_IfcSlabElementedCase_type; extern entity* IFC4_IfcSlabStandardCase_type; extern entity* IFC4_IfcSlabType_type; extern entity* IFC4_IfcSlippageConnectionCondition_type; extern entity* IFC4_IfcSolarDevice_type; extern entity* IFC4_IfcSolarDeviceType_type; extern entity* IFC4_IfcSolidModel_type; extern entity* IFC4_IfcSpace_type; extern entity* IFC4_IfcSpaceHeater_type; extern entity* IFC4_IfcSpaceHeaterType_type; extern entity* IFC4_IfcSpaceType_type; extern entity* IFC4_IfcSpatialElement_type; extern entity* IFC4_IfcSpatialElementType_type; extern entity* IFC4_IfcSpatialStructureElement_type; extern entity* IFC4_IfcSpatialStructureElementType_type; extern entity* IFC4_IfcSpatialZone_type; extern entity* IFC4_IfcSpatialZoneType_type; extern entity* IFC4_IfcSphere_type; extern entity* IFC4_IfcSphericalSurface_type; extern entity* IFC4_IfcStackTerminal_type; extern entity* IFC4_IfcStackTerminalType_type; extern entity* IFC4_IfcStair_type; extern entity* IFC4_IfcStairFlight_type; extern entity* IFC4_IfcStairFlightType_type; extern entity* IFC4_IfcStairType_type; extern entity* IFC4_IfcStructuralAction_type; extern entity* IFC4_IfcStructuralActivity_type; extern entity* IFC4_IfcStructuralAnalysisModel_type; extern entity* IFC4_IfcStructuralConnection_type; extern entity* IFC4_IfcStructuralConnectionCondition_type; extern entity* IFC4_IfcStructuralCurveAction_type; extern entity* IFC4_IfcStructuralCurveConnection_type; extern entity* IFC4_IfcStructuralCurveMember_type; extern entity* IFC4_IfcStructuralCurveMemberVarying_type; extern entity* IFC4_IfcStructuralCurveReaction_type; extern entity* IFC4_IfcStructuralItem_type; extern entity* IFC4_IfcStructuralLinearAction_type; extern entity* IFC4_IfcStructuralLoad_type; extern entity* IFC4_IfcStructuralLoadCase_type; extern entity* IFC4_IfcStructuralLoadConfiguration_type; extern entity* IFC4_IfcStructuralLoadGroup_type; extern entity* IFC4_IfcStructuralLoadLinearForce_type; extern entity* IFC4_IfcStructuralLoadOrResult_type; extern entity* IFC4_IfcStructuralLoadPlanarForce_type; extern entity* IFC4_IfcStructuralLoadSingleDisplacement_type; extern entity* IFC4_IfcStructuralLoadSingleDisplacementDistortion_type; extern entity* IFC4_IfcStructuralLoadSingleForce_type; extern entity* IFC4_IfcStructuralLoadSingleForceWarping_type; extern entity* IFC4_IfcStructuralLoadStatic_type; extern entity* IFC4_IfcStructuralLoadTemperature_type; extern entity* IFC4_IfcStructuralMember_type; extern entity* IFC4_IfcStructuralPlanarAction_type; extern entity* IFC4_IfcStructuralPointAction_type; extern entity* IFC4_IfcStructuralPointConnection_type; extern entity* IFC4_IfcStructuralPointReaction_type; extern entity* IFC4_IfcStructuralReaction_type; extern entity* IFC4_IfcStructuralResultGroup_type; extern entity* IFC4_IfcStructuralSurfaceAction_type; extern entity* IFC4_IfcStructuralSurfaceConnection_type; extern entity* IFC4_IfcStructuralSurfaceMember_type; extern entity* IFC4_IfcStructuralSurfaceMemberVarying_type; extern entity* IFC4_IfcStructuralSurfaceReaction_type; extern entity* IFC4_IfcStyleModel_type; extern entity* IFC4_IfcStyledItem_type; extern entity* IFC4_IfcStyledRepresentation_type; extern entity* IFC4_IfcSubContractResource_type; extern entity* IFC4_IfcSubContractResourceType_type; extern entity* IFC4_IfcSubedge_type; extern entity* IFC4_IfcSurface_type; extern entity* IFC4_IfcSurfaceCurve_type; extern entity* IFC4_IfcSurfaceCurveSweptAreaSolid_type; extern entity* IFC4_IfcSurfaceFeature_type; extern entity* IFC4_IfcSurfaceOfLinearExtrusion_type; extern entity* IFC4_IfcSurfaceOfRevolution_type; extern entity* IFC4_IfcSurfaceReinforcementArea_type; extern entity* IFC4_IfcSurfaceStyle_type; extern entity* IFC4_IfcSurfaceStyleLighting_type; extern entity* IFC4_IfcSurfaceStyleRefraction_type; extern entity* IFC4_IfcSurfaceStyleRendering_type; extern entity* IFC4_IfcSurfaceStyleShading_type; extern entity* IFC4_IfcSurfaceStyleWithTextures_type; extern entity* IFC4_IfcSurfaceTexture_type; extern entity* IFC4_IfcSweptAreaSolid_type; extern entity* IFC4_IfcSweptDiskSolid_type; extern entity* IFC4_IfcSweptDiskSolidPolygonal_type; extern entity* IFC4_IfcSweptSurface_type; extern entity* IFC4_IfcSwitchingDevice_type; extern entity* IFC4_IfcSwitchingDeviceType_type; extern entity* IFC4_IfcSystem_type; extern entity* IFC4_IfcSystemFurnitureElement_type; extern entity* IFC4_IfcSystemFurnitureElementType_type; extern entity* IFC4_IfcTShapeProfileDef_type; extern entity* IFC4_IfcTable_type; extern entity* IFC4_IfcTableColumn_type; extern entity* IFC4_IfcTableRow_type; extern entity* IFC4_IfcTank_type; extern entity* IFC4_IfcTankType_type; extern entity* IFC4_IfcTask_type; extern entity* IFC4_IfcTaskTime_type; extern entity* IFC4_IfcTaskTimeRecurring_type; extern entity* IFC4_IfcTaskType_type; extern entity* IFC4_IfcTelecomAddress_type; extern entity* IFC4_IfcTendon_type; extern entity* IFC4_IfcTendonAnchor_type; extern entity* IFC4_IfcTendonAnchorType_type; extern entity* IFC4_IfcTendonType_type; extern entity* IFC4_IfcTessellatedFaceSet_type; extern entity* IFC4_IfcTessellatedItem_type; extern entity* IFC4_IfcTextLiteral_type; extern entity* IFC4_IfcTextLiteralWithExtent_type; extern entity* IFC4_IfcTextStyle_type; extern entity* IFC4_IfcTextStyleFontModel_type; extern entity* IFC4_IfcTextStyleForDefinedFont_type; extern entity* IFC4_IfcTextStyleTextModel_type; extern entity* IFC4_IfcTextureCoordinate_type; extern entity* IFC4_IfcTextureCoordinateGenerator_type; extern entity* IFC4_IfcTextureMap_type; extern entity* IFC4_IfcTextureVertex_type; extern entity* IFC4_IfcTextureVertexList_type; extern entity* IFC4_IfcTimePeriod_type; extern entity* IFC4_IfcTimeSeries_type; extern entity* IFC4_IfcTimeSeriesValue_type; extern entity* IFC4_IfcTopologicalRepresentationItem_type; extern entity* IFC4_IfcTopologyRepresentation_type; extern entity* IFC4_IfcToroidalSurface_type; extern entity* IFC4_IfcTransformer_type; extern entity* IFC4_IfcTransformerType_type; extern entity* IFC4_IfcTransportElement_type; extern entity* IFC4_IfcTransportElementType_type; extern entity* IFC4_IfcTrapeziumProfileDef_type; extern entity* IFC4_IfcTriangulatedFaceSet_type; extern entity* IFC4_IfcTrimmedCurve_type; extern entity* IFC4_IfcTubeBundle_type; extern entity* IFC4_IfcTubeBundleType_type; extern entity* IFC4_IfcTypeObject_type; extern entity* IFC4_IfcTypeProcess_type; extern entity* IFC4_IfcTypeProduct_type; extern entity* IFC4_IfcTypeResource_type; extern entity* IFC4_IfcUShapeProfileDef_type; extern entity* IFC4_IfcUnitAssignment_type; extern entity* IFC4_IfcUnitaryControlElement_type; extern entity* IFC4_IfcUnitaryControlElementType_type; extern entity* IFC4_IfcUnitaryEquipment_type; extern entity* IFC4_IfcUnitaryEquipmentType_type; extern entity* IFC4_IfcValve_type; extern entity* IFC4_IfcValveType_type; extern entity* IFC4_IfcVector_type; extern entity* IFC4_IfcVertex_type; extern entity* IFC4_IfcVertexLoop_type; extern entity* IFC4_IfcVertexPoint_type; extern entity* IFC4_IfcVibrationIsolator_type; extern entity* IFC4_IfcVibrationIsolatorType_type; extern entity* IFC4_IfcVirtualElement_type; extern entity* IFC4_IfcVirtualGridIntersection_type; extern entity* IFC4_IfcVoidingFeature_type; extern entity* IFC4_IfcWall_type; extern entity* IFC4_IfcWallElementedCase_type; extern entity* IFC4_IfcWallStandardCase_type; extern entity* IFC4_IfcWallType_type; extern entity* IFC4_IfcWasteTerminal_type; extern entity* IFC4_IfcWasteTerminalType_type; extern entity* IFC4_IfcWindow_type; extern entity* IFC4_IfcWindowLiningProperties_type; extern entity* IFC4_IfcWindowPanelProperties_type; extern entity* IFC4_IfcWindowStandardCase_type; extern entity* IFC4_IfcWindowStyle_type; extern entity* IFC4_IfcWindowType_type; extern entity* IFC4_IfcWorkCalendar_type; extern entity* IFC4_IfcWorkControl_type; extern entity* IFC4_IfcWorkPlan_type; extern entity* IFC4_IfcWorkSchedule_type; extern entity* IFC4_IfcWorkTime_type; extern entity* IFC4_IfcZShapeProfileDef_type; extern entity* IFC4_IfcZone_type; extern type_declaration* IFC4_IfcAbsorbedDoseMeasure_type; extern type_declaration* IFC4_IfcAccelerationMeasure_type; extern type_declaration* IFC4_IfcAmountOfSubstanceMeasure_type; extern type_declaration* IFC4_IfcAngularVelocityMeasure_type; extern type_declaration* IFC4_IfcArcIndex_type; extern type_declaration* IFC4_IfcAreaDensityMeasure_type; extern type_declaration* IFC4_IfcAreaMeasure_type; extern type_declaration* IFC4_IfcBinary_type; extern type_declaration* IFC4_IfcBoolean_type; extern type_declaration* IFC4_IfcBoxAlignment_type; extern type_declaration* IFC4_IfcCardinalPointReference_type; extern type_declaration* IFC4_IfcComplexNumber_type; extern type_declaration* IFC4_IfcCompoundPlaneAngleMeasure_type; extern type_declaration* IFC4_IfcContextDependentMeasure_type; extern type_declaration* IFC4_IfcCountMeasure_type; extern type_declaration* IFC4_IfcCurvatureMeasure_type; extern type_declaration* IFC4_IfcDate_type; extern type_declaration* IFC4_IfcDateTime_type; extern type_declaration* IFC4_IfcDayInMonthNumber_type; extern type_declaration* IFC4_IfcDayInWeekNumber_type; extern type_declaration* IFC4_IfcDescriptiveMeasure_type; extern type_declaration* IFC4_IfcDimensionCount_type; extern type_declaration* IFC4_IfcDoseEquivalentMeasure_type; extern type_declaration* IFC4_IfcDuration_type; extern type_declaration* IFC4_IfcDynamicViscosityMeasure_type; extern type_declaration* IFC4_IfcElectricCapacitanceMeasure_type; extern type_declaration* IFC4_IfcElectricChargeMeasure_type; extern type_declaration* IFC4_IfcElectricConductanceMeasure_type; extern type_declaration* IFC4_IfcElectricCurrentMeasure_type; extern type_declaration* IFC4_IfcElectricResistanceMeasure_type; extern type_declaration* IFC4_IfcElectricVoltageMeasure_type; extern type_declaration* IFC4_IfcEnergyMeasure_type; extern type_declaration* IFC4_IfcFontStyle_type; extern type_declaration* IFC4_IfcFontVariant_type; extern type_declaration* IFC4_IfcFontWeight_type; extern type_declaration* IFC4_IfcForceMeasure_type; extern type_declaration* IFC4_IfcFrequencyMeasure_type; extern type_declaration* IFC4_IfcGloballyUniqueId_type; extern type_declaration* IFC4_IfcHeatFluxDensityMeasure_type; extern type_declaration* IFC4_IfcHeatingValueMeasure_type; extern type_declaration* IFC4_IfcIdentifier_type; extern type_declaration* IFC4_IfcIlluminanceMeasure_type; extern type_declaration* IFC4_IfcInductanceMeasure_type; extern type_declaration* IFC4_IfcInteger_type; extern type_declaration* IFC4_IfcIntegerCountRateMeasure_type; extern type_declaration* IFC4_IfcIonConcentrationMeasure_type; extern type_declaration* IFC4_IfcIsothermalMoistureCapacityMeasure_type; extern type_declaration* IFC4_IfcKinematicViscosityMeasure_type; extern type_declaration* IFC4_IfcLabel_type; extern type_declaration* IFC4_IfcLanguageId_type; extern type_declaration* IFC4_IfcLengthMeasure_type; extern type_declaration* IFC4_IfcLineIndex_type; extern type_declaration* IFC4_IfcLinearForceMeasure_type; extern type_declaration* IFC4_IfcLinearMomentMeasure_type; extern type_declaration* IFC4_IfcLinearStiffnessMeasure_type; extern type_declaration* IFC4_IfcLinearVelocityMeasure_type; extern type_declaration* IFC4_IfcLogical_type; extern type_declaration* IFC4_IfcLuminousFluxMeasure_type; extern type_declaration* IFC4_IfcLuminousIntensityDistributionMeasure_type; extern type_declaration* IFC4_IfcLuminousIntensityMeasure_type; extern type_declaration* IFC4_IfcMagneticFluxDensityMeasure_type; extern type_declaration* IFC4_IfcMagneticFluxMeasure_type; extern type_declaration* IFC4_IfcMassDensityMeasure_type; extern type_declaration* IFC4_IfcMassFlowRateMeasure_type; extern type_declaration* IFC4_IfcMassMeasure_type; extern type_declaration* IFC4_IfcMassPerLengthMeasure_type; extern type_declaration* IFC4_IfcModulusOfElasticityMeasure_type; extern type_declaration* IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type; extern type_declaration* IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type; extern type_declaration* IFC4_IfcModulusOfSubgradeReactionMeasure_type; extern type_declaration* IFC4_IfcMoistureDiffusivityMeasure_type; extern type_declaration* IFC4_IfcMolecularWeightMeasure_type; extern type_declaration* IFC4_IfcMomentOfInertiaMeasure_type; extern type_declaration* IFC4_IfcMonetaryMeasure_type; extern type_declaration* IFC4_IfcMonthInYearNumber_type; extern type_declaration* IFC4_IfcNonNegativeLengthMeasure_type; extern type_declaration* IFC4_IfcNormalisedRatioMeasure_type; extern type_declaration* IFC4_IfcNumericMeasure_type; extern type_declaration* IFC4_IfcPHMeasure_type; extern type_declaration* IFC4_IfcParameterValue_type; extern type_declaration* IFC4_IfcPlanarForceMeasure_type; extern type_declaration* IFC4_IfcPlaneAngleMeasure_type; extern type_declaration* IFC4_IfcPositiveInteger_type; extern type_declaration* IFC4_IfcPositiveLengthMeasure_type; extern type_declaration* IFC4_IfcPositivePlaneAngleMeasure_type; extern type_declaration* IFC4_IfcPositiveRatioMeasure_type; extern type_declaration* IFC4_IfcPowerMeasure_type; extern type_declaration* IFC4_IfcPresentableText_type; extern type_declaration* IFC4_IfcPressureMeasure_type; extern type_declaration* IFC4_IfcPropertySetDefinitionSet_type; extern type_declaration* IFC4_IfcRadioActivityMeasure_type; extern type_declaration* IFC4_IfcRatioMeasure_type; extern type_declaration* IFC4_IfcReal_type; extern type_declaration* IFC4_IfcRotationalFrequencyMeasure_type; extern type_declaration* IFC4_IfcRotationalMassMeasure_type; extern type_declaration* IFC4_IfcRotationalStiffnessMeasure_type; extern type_declaration* IFC4_IfcSectionModulusMeasure_type; extern type_declaration* IFC4_IfcSectionalAreaIntegralMeasure_type; extern type_declaration* IFC4_IfcShearModulusMeasure_type; extern type_declaration* IFC4_IfcSolidAngleMeasure_type; extern type_declaration* IFC4_IfcSoundPowerLevelMeasure_type; extern type_declaration* IFC4_IfcSoundPowerMeasure_type; extern type_declaration* IFC4_IfcSoundPressureLevelMeasure_type; extern type_declaration* IFC4_IfcSoundPressureMeasure_type; extern type_declaration* IFC4_IfcSpecificHeatCapacityMeasure_type; extern type_declaration* IFC4_IfcSpecularExponent_type; extern type_declaration* IFC4_IfcSpecularRoughness_type; extern type_declaration* IFC4_IfcTemperatureGradientMeasure_type; extern type_declaration* IFC4_IfcTemperatureRateOfChangeMeasure_type; extern type_declaration* IFC4_IfcText_type; extern type_declaration* IFC4_IfcTextAlignment_type; extern type_declaration* IFC4_IfcTextDecoration_type; extern type_declaration* IFC4_IfcTextFontName_type; extern type_declaration* IFC4_IfcTextTransformation_type; extern type_declaration* IFC4_IfcThermalAdmittanceMeasure_type; extern type_declaration* IFC4_IfcThermalConductivityMeasure_type; extern type_declaration* IFC4_IfcThermalExpansionCoefficientMeasure_type; extern type_declaration* IFC4_IfcThermalResistanceMeasure_type; extern type_declaration* IFC4_IfcThermalTransmittanceMeasure_type; extern type_declaration* IFC4_IfcThermodynamicTemperatureMeasure_type; extern type_declaration* IFC4_IfcTime_type; extern type_declaration* IFC4_IfcTimeMeasure_type; extern type_declaration* IFC4_IfcTimeStamp_type; extern type_declaration* IFC4_IfcTorqueMeasure_type; extern type_declaration* IFC4_IfcURIReference_type; extern type_declaration* IFC4_IfcVaporPermeabilityMeasure_type; extern type_declaration* IFC4_IfcVolumeMeasure_type; extern type_declaration* IFC4_IfcVolumetricFlowRateMeasure_type; extern type_declaration* IFC4_IfcWarpingConstantMeasure_type; extern type_declaration* IFC4_IfcWarpingMomentMeasure_type; extern enumeration_type* IFC4_IfcActionRequestTypeEnum_type; extern enumeration_type* IFC4_IfcActionSourceTypeEnum_type; extern enumeration_type* IFC4_IfcActionTypeEnum_type; extern enumeration_type* IFC4_IfcActuatorTypeEnum_type; extern enumeration_type* IFC4_IfcAddressTypeEnum_type; extern enumeration_type* IFC4_IfcAirTerminalBoxTypeEnum_type; extern enumeration_type* IFC4_IfcAirTerminalTypeEnum_type; extern enumeration_type* IFC4_IfcAirToAirHeatRecoveryTypeEnum_type; extern enumeration_type* IFC4_IfcAlarmTypeEnum_type; extern enumeration_type* IFC4_IfcAnalysisModelTypeEnum_type; extern enumeration_type* IFC4_IfcAnalysisTheoryTypeEnum_type; extern enumeration_type* IFC4_IfcArithmeticOperatorEnum_type; extern enumeration_type* IFC4_IfcAssemblyPlaceEnum_type; extern enumeration_type* IFC4_IfcAudioVisualApplianceTypeEnum_type; extern enumeration_type* IFC4_IfcBSplineCurveForm_type; extern enumeration_type* IFC4_IfcBSplineSurfaceForm_type; extern enumeration_type* IFC4_IfcBeamTypeEnum_type; extern enumeration_type* IFC4_IfcBenchmarkEnum_type; extern enumeration_type* IFC4_IfcBoilerTypeEnum_type; extern enumeration_type* IFC4_IfcBooleanOperator_type; extern enumeration_type* IFC4_IfcBuildingElementPartTypeEnum_type; extern enumeration_type* IFC4_IfcBuildingElementProxyTypeEnum_type; extern enumeration_type* IFC4_IfcBuildingSystemTypeEnum_type; extern enumeration_type* IFC4_IfcBurnerTypeEnum_type; extern enumeration_type* IFC4_IfcCableCarrierFittingTypeEnum_type; extern enumeration_type* IFC4_IfcCableCarrierSegmentTypeEnum_type; extern enumeration_type* IFC4_IfcCableFittingTypeEnum_type; extern enumeration_type* IFC4_IfcCableSegmentTypeEnum_type; extern enumeration_type* IFC4_IfcChangeActionEnum_type; extern enumeration_type* IFC4_IfcChillerTypeEnum_type; extern enumeration_type* IFC4_IfcChimneyTypeEnum_type; extern enumeration_type* IFC4_IfcCoilTypeEnum_type; extern enumeration_type* IFC4_IfcColumnTypeEnum_type; extern enumeration_type* IFC4_IfcCommunicationsApplianceTypeEnum_type; extern enumeration_type* IFC4_IfcComplexPropertyTemplateTypeEnum_type; extern enumeration_type* IFC4_IfcCompressorTypeEnum_type; extern enumeration_type* IFC4_IfcCondenserTypeEnum_type; extern enumeration_type* IFC4_IfcConnectionTypeEnum_type; extern enumeration_type* IFC4_IfcConstraintEnum_type; extern enumeration_type* IFC4_IfcConstructionEquipmentResourceTypeEnum_type; extern enumeration_type* IFC4_IfcConstructionMaterialResourceTypeEnum_type; extern enumeration_type* IFC4_IfcConstructionProductResourceTypeEnum_type; extern enumeration_type* IFC4_IfcControllerTypeEnum_type; extern enumeration_type* IFC4_IfcCooledBeamTypeEnum_type; extern enumeration_type* IFC4_IfcCoolingTowerTypeEnum_type; extern enumeration_type* IFC4_IfcCostItemTypeEnum_type; extern enumeration_type* IFC4_IfcCostScheduleTypeEnum_type; extern enumeration_type* IFC4_IfcCoveringTypeEnum_type; extern enumeration_type* IFC4_IfcCrewResourceTypeEnum_type; extern enumeration_type* IFC4_IfcCurtainWallTypeEnum_type; extern enumeration_type* IFC4_IfcCurveInterpolationEnum_type; extern enumeration_type* IFC4_IfcDamperTypeEnum_type; extern enumeration_type* IFC4_IfcDataOriginEnum_type; extern enumeration_type* IFC4_IfcDerivedUnitEnum_type; extern enumeration_type* IFC4_IfcDirectionSenseEnum_type; extern enumeration_type* IFC4_IfcDiscreteAccessoryTypeEnum_type; extern enumeration_type* IFC4_IfcDistributionChamberElementTypeEnum_type; extern enumeration_type* IFC4_IfcDistributionPortTypeEnum_type; extern enumeration_type* IFC4_IfcDistributionSystemEnum_type; extern enumeration_type* IFC4_IfcDocumentConfidentialityEnum_type; extern enumeration_type* IFC4_IfcDocumentStatusEnum_type; extern enumeration_type* IFC4_IfcDoorPanelOperationEnum_type; extern enumeration_type* IFC4_IfcDoorPanelPositionEnum_type; extern enumeration_type* IFC4_IfcDoorStyleConstructionEnum_type; extern enumeration_type* IFC4_IfcDoorStyleOperationEnum_type; extern enumeration_type* IFC4_IfcDoorTypeEnum_type; extern enumeration_type* IFC4_IfcDoorTypeOperationEnum_type; extern enumeration_type* IFC4_IfcDuctFittingTypeEnum_type; extern enumeration_type* IFC4_IfcDuctSegmentTypeEnum_type; extern enumeration_type* IFC4_IfcDuctSilencerTypeEnum_type; extern enumeration_type* IFC4_IfcElectricApplianceTypeEnum_type; extern enumeration_type* IFC4_IfcElectricDistributionBoardTypeEnum_type; extern enumeration_type* IFC4_IfcElectricFlowStorageDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcElectricGeneratorTypeEnum_type; extern enumeration_type* IFC4_IfcElectricMotorTypeEnum_type; extern enumeration_type* IFC4_IfcElectricTimeControlTypeEnum_type; extern enumeration_type* IFC4_IfcElementAssemblyTypeEnum_type; extern enumeration_type* IFC4_IfcElementCompositionEnum_type; extern enumeration_type* IFC4_IfcEngineTypeEnum_type; extern enumeration_type* IFC4_IfcEvaporativeCoolerTypeEnum_type; extern enumeration_type* IFC4_IfcEvaporatorTypeEnum_type; extern enumeration_type* IFC4_IfcEventTriggerTypeEnum_type; extern enumeration_type* IFC4_IfcEventTypeEnum_type; extern enumeration_type* IFC4_IfcExternalSpatialElementTypeEnum_type; extern enumeration_type* IFC4_IfcFanTypeEnum_type; extern enumeration_type* IFC4_IfcFastenerTypeEnum_type; extern enumeration_type* IFC4_IfcFilterTypeEnum_type; extern enumeration_type* IFC4_IfcFireSuppressionTerminalTypeEnum_type; extern enumeration_type* IFC4_IfcFlowDirectionEnum_type; extern enumeration_type* IFC4_IfcFlowInstrumentTypeEnum_type; extern enumeration_type* IFC4_IfcFlowMeterTypeEnum_type; extern enumeration_type* IFC4_IfcFootingTypeEnum_type; extern enumeration_type* IFC4_IfcFurnitureTypeEnum_type; extern enumeration_type* IFC4_IfcGeographicElementTypeEnum_type; extern enumeration_type* IFC4_IfcGeometricProjectionEnum_type; extern enumeration_type* IFC4_IfcGlobalOrLocalEnum_type; extern enumeration_type* IFC4_IfcGridTypeEnum_type; extern enumeration_type* IFC4_IfcHeatExchangerTypeEnum_type; extern enumeration_type* IFC4_IfcHumidifierTypeEnum_type; extern enumeration_type* IFC4_IfcInterceptorTypeEnum_type; extern enumeration_type* IFC4_IfcInternalOrExternalEnum_type; extern enumeration_type* IFC4_IfcInventoryTypeEnum_type; extern enumeration_type* IFC4_IfcJunctionBoxTypeEnum_type; extern enumeration_type* IFC4_IfcKnotType_type; extern enumeration_type* IFC4_IfcLaborResourceTypeEnum_type; extern enumeration_type* IFC4_IfcLampTypeEnum_type; extern enumeration_type* IFC4_IfcLayerSetDirectionEnum_type; extern enumeration_type* IFC4_IfcLightDistributionCurveEnum_type; extern enumeration_type* IFC4_IfcLightEmissionSourceEnum_type; extern enumeration_type* IFC4_IfcLightFixtureTypeEnum_type; extern enumeration_type* IFC4_IfcLoadGroupTypeEnum_type; extern enumeration_type* IFC4_IfcLogicalOperatorEnum_type; extern enumeration_type* IFC4_IfcMechanicalFastenerTypeEnum_type; extern enumeration_type* IFC4_IfcMedicalDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcMemberTypeEnum_type; extern enumeration_type* IFC4_IfcMotorConnectionTypeEnum_type; extern enumeration_type* IFC4_IfcNullStyle_type; extern enumeration_type* IFC4_IfcObjectTypeEnum_type; extern enumeration_type* IFC4_IfcObjectiveEnum_type; extern enumeration_type* IFC4_IfcOccupantTypeEnum_type; extern enumeration_type* IFC4_IfcOpeningElementTypeEnum_type; extern enumeration_type* IFC4_IfcOutletTypeEnum_type; extern enumeration_type* IFC4_IfcPerformanceHistoryTypeEnum_type; extern enumeration_type* IFC4_IfcPermeableCoveringOperationEnum_type; extern enumeration_type* IFC4_IfcPermitTypeEnum_type; extern enumeration_type* IFC4_IfcPhysicalOrVirtualEnum_type; extern enumeration_type* IFC4_IfcPileConstructionEnum_type; extern enumeration_type* IFC4_IfcPileTypeEnum_type; extern enumeration_type* IFC4_IfcPipeFittingTypeEnum_type; extern enumeration_type* IFC4_IfcPipeSegmentTypeEnum_type; extern enumeration_type* IFC4_IfcPlateTypeEnum_type; extern enumeration_type* IFC4_IfcPreferredSurfaceCurveRepresentation_type; extern enumeration_type* IFC4_IfcProcedureTypeEnum_type; extern enumeration_type* IFC4_IfcProfileTypeEnum_type; extern enumeration_type* IFC4_IfcProjectOrderTypeEnum_type; extern enumeration_type* IFC4_IfcProjectedOrTrueLengthEnum_type; extern enumeration_type* IFC4_IfcProjectionElementTypeEnum_type; extern enumeration_type* IFC4_IfcPropertySetTemplateTypeEnum_type; extern enumeration_type* IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type; extern enumeration_type* IFC4_IfcProtectiveDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcPumpTypeEnum_type; extern enumeration_type* IFC4_IfcRailingTypeEnum_type; extern enumeration_type* IFC4_IfcRampFlightTypeEnum_type; extern enumeration_type* IFC4_IfcRampTypeEnum_type; extern enumeration_type* IFC4_IfcRecurrenceTypeEnum_type; extern enumeration_type* IFC4_IfcReflectanceMethodEnum_type; extern enumeration_type* IFC4_IfcReinforcingBarRoleEnum_type; extern enumeration_type* IFC4_IfcReinforcingBarSurfaceEnum_type; extern enumeration_type* IFC4_IfcReinforcingBarTypeEnum_type; extern enumeration_type* IFC4_IfcReinforcingMeshTypeEnum_type; extern enumeration_type* IFC4_IfcRoleEnum_type; extern enumeration_type* IFC4_IfcRoofTypeEnum_type; extern enumeration_type* IFC4_IfcSIPrefix_type; extern enumeration_type* IFC4_IfcSIUnitName_type; extern enumeration_type* IFC4_IfcSanitaryTerminalTypeEnum_type; extern enumeration_type* IFC4_IfcSectionTypeEnum_type; extern enumeration_type* IFC4_IfcSensorTypeEnum_type; extern enumeration_type* IFC4_IfcSequenceEnum_type; extern enumeration_type* IFC4_IfcShadingDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcSimplePropertyTemplateTypeEnum_type; extern enumeration_type* IFC4_IfcSlabTypeEnum_type; extern enumeration_type* IFC4_IfcSolarDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcSpaceHeaterTypeEnum_type; extern enumeration_type* IFC4_IfcSpaceTypeEnum_type; extern enumeration_type* IFC4_IfcSpatialZoneTypeEnum_type; extern enumeration_type* IFC4_IfcStackTerminalTypeEnum_type; extern enumeration_type* IFC4_IfcStairFlightTypeEnum_type; extern enumeration_type* IFC4_IfcStairTypeEnum_type; extern enumeration_type* IFC4_IfcStateEnum_type; extern enumeration_type* IFC4_IfcStructuralCurveActivityTypeEnum_type; extern enumeration_type* IFC4_IfcStructuralCurveMemberTypeEnum_type; extern enumeration_type* IFC4_IfcStructuralSurfaceActivityTypeEnum_type; extern enumeration_type* IFC4_IfcStructuralSurfaceMemberTypeEnum_type; extern enumeration_type* IFC4_IfcSubContractResourceTypeEnum_type; extern enumeration_type* IFC4_IfcSurfaceFeatureTypeEnum_type; extern enumeration_type* IFC4_IfcSurfaceSide_type; extern enumeration_type* IFC4_IfcSwitchingDeviceTypeEnum_type; extern enumeration_type* IFC4_IfcSystemFurnitureElementTypeEnum_type; extern enumeration_type* IFC4_IfcTankTypeEnum_type; extern enumeration_type* IFC4_IfcTaskDurationEnum_type; extern enumeration_type* IFC4_IfcTaskTypeEnum_type; extern enumeration_type* IFC4_IfcTendonAnchorTypeEnum_type; extern enumeration_type* IFC4_IfcTendonTypeEnum_type; extern enumeration_type* IFC4_IfcTextPath_type; extern enumeration_type* IFC4_IfcTimeSeriesDataTypeEnum_type; extern enumeration_type* IFC4_IfcTransformerTypeEnum_type; extern enumeration_type* IFC4_IfcTransitionCode_type; extern enumeration_type* IFC4_IfcTransportElementTypeEnum_type; extern enumeration_type* IFC4_IfcTrimmingPreference_type; extern enumeration_type* IFC4_IfcTubeBundleTypeEnum_type; extern enumeration_type* IFC4_IfcUnitEnum_type; extern enumeration_type* IFC4_IfcUnitaryControlElementTypeEnum_type; extern enumeration_type* IFC4_IfcUnitaryEquipmentTypeEnum_type; extern enumeration_type* IFC4_IfcValveTypeEnum_type; extern enumeration_type* IFC4_IfcVibrationIsolatorTypeEnum_type; extern enumeration_type* IFC4_IfcVoidingFeatureTypeEnum_type; extern enumeration_type* IFC4_IfcWallTypeEnum_type; extern enumeration_type* IFC4_IfcWasteTerminalTypeEnum_type; extern enumeration_type* IFC4_IfcWindowPanelOperationEnum_type; extern enumeration_type* IFC4_IfcWindowPanelPositionEnum_type; extern enumeration_type* IFC4_IfcWindowStyleConstructionEnum_type; extern enumeration_type* IFC4_IfcWindowStyleOperationEnum_type; extern enumeration_type* IFC4_IfcWindowTypeEnum_type; extern enumeration_type* IFC4_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4_IfcWorkScheduleTypeEnum_type; extern select_type* IFC4_IfcActorSelect_type; extern select_type* IFC4_IfcAppliedValueSelect_type; extern select_type* IFC4_IfcAxis2Placement_type; extern select_type* IFC4_IfcBendingParameterSelect_type; extern select_type* IFC4_IfcBooleanOperand_type; extern select_type* IFC4_IfcClassificationReferenceSelect_type; extern select_type* IFC4_IfcClassificationSelect_type; extern select_type* IFC4_IfcColour_type; extern select_type* IFC4_IfcColourOrFactor_type; extern select_type* IFC4_IfcCoordinateReferenceSystemSelect_type; extern select_type* IFC4_IfcCsgSelect_type; extern select_type* IFC4_IfcCurveFontOrScaledCurveFontSelect_type; extern select_type* IFC4_IfcCurveOnSurface_type; extern select_type* IFC4_IfcCurveOrEdgeCurve_type; extern select_type* IFC4_IfcCurveStyleFontSelect_type; extern select_type* IFC4_IfcDefinitionSelect_type; extern select_type* IFC4_IfcDerivedMeasureValue_type; extern select_type* IFC4_IfcDocumentSelect_type; extern select_type* IFC4_IfcFillStyleSelect_type; extern select_type* IFC4_IfcGeometricSetSelect_type; extern select_type* IFC4_IfcGridPlacementDirectionSelect_type; extern select_type* IFC4_IfcHatchLineDistanceSelect_type; extern select_type* IFC4_IfcLayeredItem_type; extern select_type* IFC4_IfcLibrarySelect_type; extern select_type* IFC4_IfcLightDistributionDataSourceSelect_type; extern select_type* IFC4_IfcMaterialSelect_type; extern select_type* IFC4_IfcMeasureValue_type; extern select_type* IFC4_IfcMetricValueSelect_type; extern select_type* IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type; extern select_type* IFC4_IfcModulusOfSubgradeReactionSelect_type; extern select_type* IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; extern select_type* IFC4_IfcObjectReferenceSelect_type; extern select_type* IFC4_IfcPointOrVertexPoint_type; extern select_type* IFC4_IfcPresentationStyleSelect_type; extern select_type* IFC4_IfcProcessSelect_type; extern select_type* IFC4_IfcProductRepresentationSelect_type; extern select_type* IFC4_IfcProductSelect_type; extern select_type* IFC4_IfcPropertySetDefinitionSelect_type; extern select_type* IFC4_IfcResourceObjectSelect_type; extern select_type* IFC4_IfcResourceSelect_type; extern select_type* IFC4_IfcRotationalStiffnessSelect_type; extern select_type* IFC4_IfcSegmentIndexSelect_type; extern select_type* IFC4_IfcShell_type; extern select_type* IFC4_IfcSimpleValue_type; extern select_type* IFC4_IfcSizeSelect_type; extern select_type* IFC4_IfcSolidOrShell_type; extern select_type* IFC4_IfcSpaceBoundarySelect_type; extern select_type* IFC4_IfcSpecularHighlightSelect_type; extern select_type* IFC4_IfcStructuralActivityAssignmentSelect_type; extern select_type* IFC4_IfcStyleAssignmentSelect_type; extern select_type* IFC4_IfcSurfaceOrFaceSurface_type; extern select_type* IFC4_IfcSurfaceStyleElementSelect_type; extern select_type* IFC4_IfcTextFontSelect_type; extern select_type* IFC4_IfcTimeOrRatioSelect_type; extern select_type* IFC4_IfcTranslationalStiffnessSelect_type; extern select_type* IFC4_IfcTrimmingSelect_type; extern select_type* IFC4_IfcUnit_type; extern select_type* IFC4_IfcValue_type; extern select_type* IFC4_IfcVectorOrDirection_type; extern select_type* IFC4_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4::IfcActionRequestTypeEnum::declaration() const { return *IFC4_IfcActionRequestTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcActionRequestTypeEnum::Class() { return *IFC4_IfcActionRequestTypeEnum_type; } Ifc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcActionRequestTypeEnum::IfcActionRequestTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionRequestTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcActionRequestTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "EMAIL", "FAX", "PHONE", "POST", "VERBAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcActionRequestTypeEnum::Value Ifc4::IfcActionRequestTypeEnum::FromString(const std::string& s) { if (s == "EMAIL") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_EMAIL; if (s == "FAX") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_FAX; if (s == "PHONE") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_PHONE; if (s == "POST") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_POST; if (s == "VERBAL") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_VERBAL; if (s == "USERDEFINED") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcActionRequestTypeEnum::IfcActionRequestType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcActionRequestTypeEnum::operator Ifc4::IfcActionRequestTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcActionSourceTypeEnum::declaration() const { return *IFC4_IfcActionSourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcActionSourceTypeEnum::Class() { return *IFC4_IfcActionSourceTypeEnum_type; } Ifc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcActionSourceTypeEnum::IfcActionSourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionSourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcActionSourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 27 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DEAD_LOAD_G", "COMPLETION_G1", "LIVE_LOAD_Q", "SNOW_S", "WIND_W", "PRESTRESSING_P", "SETTLEMENT_U", "TEMPERATURE_T", "EARTHQUAKE_E", "FIRE", "IMPULSE", "IMPACT", "TRANSPORT", "ERECTION", "PROPPING", "SYSTEM_IMPERFECTION", "SHRINKAGE", "CREEP", "LACK_OF_FIT", "BUOYANCY", "ICE", "CURRENT", "WAVE", "RAIN", "BRAKES", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcActionSourceTypeEnum::FromString(const std::string& s) { if (s == "DEAD_LOAD_G") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_DEAD_LOAD_G; if (s == "COMPLETION_G1") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_COMPLETION_G1; if (s == "LIVE_LOAD_Q") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_LIVE_LOAD_Q; if (s == "SNOW_S") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_SNOW_S; if (s == "WIND_W") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_WIND_W; if (s == "PRESTRESSING_P") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_PRESTRESSING_P; if (s == "SETTLEMENT_U") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_SETTLEMENT_U; if (s == "TEMPERATURE_T") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_TEMPERATURE_T; if (s == "EARTHQUAKE_E") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_EARTHQUAKE_E; if (s == "FIRE") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_FIRE; if (s == "IMPULSE") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_IMPULSE; if (s == "IMPACT") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_IMPACT; if (s == "TRANSPORT") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_TRANSPORT; if (s == "ERECTION") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_ERECTION; if (s == "PROPPING") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_PROPPING; if (s == "SYSTEM_IMPERFECTION") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_SYSTEM_IMPERFECTION; if (s == "SHRINKAGE") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_SHRINKAGE; if (s == "CREEP") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_CREEP; if (s == "LACK_OF_FIT") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_LACK_OF_FIT; if (s == "BUOYANCY") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_BUOYANCY; if (s == "ICE") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_ICE; if (s == "CURRENT") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_CURRENT; if (s == "WAVE") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_WAVE; if (s == "RAIN") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_RAIN; if (s == "BRAKES") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_BRAKES; if (s == "USERDEFINED") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcActionSourceTypeEnum::IfcActionSourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcActionSourceTypeEnum::operator Ifc4::IfcActionSourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcActionTypeEnum::declaration() const { return *IFC4_IfcActionTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcActionTypeEnum::Class() { return *IFC4_IfcActionTypeEnum_type; } Ifc4::IfcActionTypeEnum::IfcActionTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcActionTypeEnum::IfcActionTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcActionTypeEnum::IfcActionTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcActionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcActionTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PERMANENT_G", "VARIABLE_Q", "EXTRAORDINARY_A", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcActionTypeEnum::Value Ifc4::IfcActionTypeEnum::FromString(const std::string& s) { if (s == "PERMANENT_G") return ::Ifc4::IfcActionTypeEnum::IfcActionType_PERMANENT_G; if (s == "VARIABLE_Q") return ::Ifc4::IfcActionTypeEnum::IfcActionType_VARIABLE_Q; if (s == "EXTRAORDINARY_A") return ::Ifc4::IfcActionTypeEnum::IfcActionType_EXTRAORDINARY_A; if (s == "USERDEFINED") return ::Ifc4::IfcActionTypeEnum::IfcActionType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcActionTypeEnum::IfcActionType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcActionTypeEnum::operator Ifc4::IfcActionTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcActuatorTypeEnum::declaration() const { return *IFC4_IfcActuatorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcActuatorTypeEnum::Class() { return *IFC4_IfcActuatorTypeEnum_type; } Ifc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcActuatorTypeEnum::IfcActuatorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcActuatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcActuatorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ELECTRICACTUATOR", "HANDOPERATEDACTUATOR", "HYDRAULICACTUATOR", "PNEUMATICACTUATOR", "THERMOSTATICACTUATOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorTypeEnum::FromString(const std::string& s) { if (s == "ELECTRICACTUATOR") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_ELECTRICACTUATOR; if (s == "HANDOPERATEDACTUATOR") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_HANDOPERATEDACTUATOR; if (s == "HYDRAULICACTUATOR") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_HYDRAULICACTUATOR; if (s == "PNEUMATICACTUATOR") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_PNEUMATICACTUATOR; if (s == "THERMOSTATICACTUATOR") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_THERMOSTATICACTUATOR; if (s == "USERDEFINED") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcActuatorTypeEnum::IfcActuatorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcActuatorTypeEnum::operator Ifc4::IfcActuatorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAddressTypeEnum::declaration() const { return *IFC4_IfcAddressTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAddressTypeEnum::Class() { return *IFC4_IfcAddressTypeEnum_type; } Ifc4::IfcAddressTypeEnum::IfcAddressTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAddressTypeEnum::IfcAddressTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAddressTypeEnum::IfcAddressTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAddressTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAddressTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "OFFICE", "SITE", "HOME", "DISTRIBUTIONPOINT", "USERDEFINED" }; return names[v]; } Ifc4::IfcAddressTypeEnum::Value Ifc4::IfcAddressTypeEnum::FromString(const std::string& s) { if (s == "OFFICE") return ::Ifc4::IfcAddressTypeEnum::IfcAddressType_OFFICE; if (s == "SITE") return ::Ifc4::IfcAddressTypeEnum::IfcAddressType_SITE; if (s == "HOME") return ::Ifc4::IfcAddressTypeEnum::IfcAddressType_HOME; if (s == "DISTRIBUTIONPOINT") return ::Ifc4::IfcAddressTypeEnum::IfcAddressType_DISTRIBUTIONPOINT; if (s == "USERDEFINED") return ::Ifc4::IfcAddressTypeEnum::IfcAddressType_USERDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAddressTypeEnum::operator Ifc4::IfcAddressTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::declaration() const { return *IFC4_IfcAirTerminalBoxTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::Class() { return *IFC4_IfcAirTerminalBoxTypeEnum_type; } Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAirTerminalBoxTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONSTANTFLOW", "VARIABLEFLOWPRESSUREDEPENDANT", "VARIABLEFLOWPRESSUREINDEPENDANT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxTypeEnum::FromString(const std::string& s) { if (s == "CONSTANTFLOW") return ::Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_CONSTANTFLOW; if (s == "VARIABLEFLOWPRESSUREDEPENDANT") return ::Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT; if (s == "VARIABLEFLOWPRESSUREINDEPENDANT") return ::Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT; if (s == "USERDEFINED") return ::Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAirTerminalBoxTypeEnum::operator Ifc4::IfcAirTerminalBoxTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::declaration() const { return *IFC4_IfcAirTerminalTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::Class() { return *IFC4_IfcAirTerminalTypeEnum_type; } Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAirTerminalTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DIFFUSER", "GRILLE", "LOUVRE", "REGISTER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalTypeEnum::FromString(const std::string& s) { if (s == "DIFFUSER") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_DIFFUSER; if (s == "GRILLE") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_GRILLE; if (s == "LOUVRE") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_LOUVRE; if (s == "REGISTER") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_REGISTER; if (s == "USERDEFINED") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAirTerminalTypeEnum::IfcAirTerminalType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAirTerminalTypeEnum::operator Ifc4::IfcAirTerminalTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *IFC4_IfcAirToAirHeatRecoveryTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class() { return *IFC4_IfcAirToAirHeatRecoveryTypeEnum_type; } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAirToAirHeatRecoveryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FIXEDPLATECOUNTERFLOWEXCHANGER", "FIXEDPLATECROSSFLOWEXCHANGER", "FIXEDPLATEPARALLELFLOWEXCHANGER", "ROTARYWHEEL", "RUNAROUNDCOILLOOP", "HEATPIPE", "TWINTOWERENTHALPYRECOVERYLOOPS", "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS", "THERMOSIPHONCOILTYPEHEATEXCHANGERS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(const std::string& s) { if (s == "FIXEDPLATECOUNTERFLOWEXCHANGER") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER; if (s == "FIXEDPLATECROSSFLOWEXCHANGER") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER; if (s == "FIXEDPLATEPARALLELFLOWEXCHANGER") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER; if (s == "ROTARYWHEEL") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_ROTARYWHEEL; if (s == "RUNAROUNDCOILLOOP") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP; if (s == "HEATPIPE") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_HEATPIPE; if (s == "TWINTOWERENTHALPYRECOVERYLOOPS") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS; if (s == "THERMOSIPHONSEALEDTUBEHEATEXCHANGERS") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS; if (s == "THERMOSIPHONCOILTYPEHEATEXCHANGERS") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS; if (s == "USERDEFINED") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAlarmTypeEnum::declaration() const { return *IFC4_IfcAlarmTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAlarmTypeEnum::Class() { return *IFC4_IfcAlarmTypeEnum_type; } Ifc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAlarmTypeEnum::IfcAlarmTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAlarmTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAlarmTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BELL", "BREAKGLASSBUTTON", "LIGHT", "MANUALPULLBOX", "SIREN", "WHISTLE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmTypeEnum::FromString(const std::string& s) { if (s == "BELL") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_BELL; if (s == "BREAKGLASSBUTTON") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_BREAKGLASSBUTTON; if (s == "LIGHT") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_LIGHT; if (s == "MANUALPULLBOX") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_MANUALPULLBOX; if (s == "SIREN") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_SIREN; if (s == "WHISTLE") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_WHISTLE; if (s == "USERDEFINED") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAlarmTypeEnum::IfcAlarmType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAlarmTypeEnum::operator Ifc4::IfcAlarmTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::declaration() const { return *IFC4_IfcAnalysisModelTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::Class() { return *IFC4_IfcAnalysisModelTypeEnum_type; } Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAnalysisModelTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAnalysisModelTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "IN_PLANE_LOADING_2D", "OUT_PLANE_LOADING_2D", "LOADING_3D", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcAnalysisModelTypeEnum::FromString(const std::string& s) { if (s == "IN_PLANE_LOADING_2D") return ::Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_IN_PLANE_LOADING_2D; if (s == "OUT_PLANE_LOADING_2D") return ::Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_OUT_PLANE_LOADING_2D; if (s == "LOADING_3D") return ::Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_LOADING_3D; if (s == "USERDEFINED") return ::Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAnalysisModelTypeEnum::IfcAnalysisModelType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAnalysisModelTypeEnum::operator Ifc4::IfcAnalysisModelTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::declaration() const { return *IFC4_IfcAnalysisTheoryTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::Class() { return *IFC4_IfcAnalysisTheoryTypeEnum_type; } Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAnalysisTheoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAnalysisTheoryTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FIRST_ORDER_THEORY", "SECOND_ORDER_THEORY", "THIRD_ORDER_THEORY", "FULL_NONLINEAR_THEORY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcAnalysisTheoryTypeEnum::FromString(const std::string& s) { if (s == "FIRST_ORDER_THEORY") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FIRST_ORDER_THEORY; if (s == "SECOND_ORDER_THEORY") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_SECOND_ORDER_THEORY; if (s == "THIRD_ORDER_THEORY") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_THIRD_ORDER_THEORY; if (s == "FULL_NONLINEAR_THEORY") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY; if (s == "USERDEFINED") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAnalysisTheoryTypeEnum::operator Ifc4::IfcAnalysisTheoryTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::declaration() const { return *IFC4_IfcArithmeticOperatorEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::Class() { return *IFC4_IfcArithmeticOperatorEnum_type; } Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcArithmeticOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcArithmeticOperatorEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ADD", "DIVIDE", "MULTIPLY", "SUBTRACT" }; return names[v]; } Ifc4::IfcArithmeticOperatorEnum::Value Ifc4::IfcArithmeticOperatorEnum::FromString(const std::string& s) { if (s == "ADD") return ::Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperator_ADD; if (s == "DIVIDE") return ::Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperator_DIVIDE; if (s == "MULTIPLY") return ::Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperator_MULTIPLY; if (s == "SUBTRACT") return ::Ifc4::IfcArithmeticOperatorEnum::IfcArithmeticOperator_SUBTRACT; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcArithmeticOperatorEnum::operator Ifc4::IfcArithmeticOperatorEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::declaration() const { return *IFC4_IfcAssemblyPlaceEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::Class() { return *IFC4_IfcAssemblyPlaceEnum_type; } Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAssemblyPlaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAssemblyPlaceEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SITE", "FACTORY", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcAssemblyPlaceEnum::FromString(const std::string& s) { if (s == "SITE") return ::Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlace_SITE; if (s == "FACTORY") return ::Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlace_FACTORY; if (s == "NOTDEFINED") return ::Ifc4::IfcAssemblyPlaceEnum::IfcAssemblyPlace_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAssemblyPlaceEnum::operator Ifc4::IfcAssemblyPlaceEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::declaration() const { return *IFC4_IfcAudioVisualApplianceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::Class() { return *IFC4_IfcAudioVisualApplianceTypeEnum_type; } Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcAudioVisualApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 13 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AMPLIFIER", "CAMERA", "DISPLAY", "MICROPHONE", "PLAYER", "PROJECTOR", "RECEIVER", "SPEAKER", "SWITCHER", "TELEPHONE", "TUNER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(const std::string& s) { if (s == "AMPLIFIER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_AMPLIFIER; if (s == "CAMERA") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_CAMERA; if (s == "DISPLAY") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_DISPLAY; if (s == "MICROPHONE") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_MICROPHONE; if (s == "PLAYER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_PLAYER; if (s == "PROJECTOR") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_PROJECTOR; if (s == "RECEIVER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_RECEIVER; if (s == "SPEAKER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_SPEAKER; if (s == "SWITCHER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_SWITCHER; if (s == "TELEPHONE") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_TELEPHONE; if (s == "TUNER") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_TUNER; if (s == "USERDEFINED") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcAudioVisualApplianceTypeEnum::operator Ifc4::IfcAudioVisualApplianceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBSplineCurveForm::declaration() const { return *IFC4_IfcBSplineCurveForm_type; } const IfcParse::enumeration_type& Ifc4::IfcBSplineCurveForm::Class() { return *IFC4_IfcBSplineCurveForm_type; } Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBSplineCurveForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBSplineCurveForm::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "POLYLINE_FORM", "CIRCULAR_ARC", "ELLIPTIC_ARC", "PARABOLIC_ARC", "HYPERBOLIC_ARC", "UNSPECIFIED" }; return names[v]; } Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurveForm::FromString(const std::string& s) { if (s == "POLYLINE_FORM") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_POLYLINE_FORM; if (s == "CIRCULAR_ARC") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_CIRCULAR_ARC; if (s == "ELLIPTIC_ARC") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_ELLIPTIC_ARC; if (s == "PARABOLIC_ARC") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_PARABOLIC_ARC; if (s == "HYPERBOLIC_ARC") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_HYPERBOLIC_ARC; if (s == "UNSPECIFIED") return ::Ifc4::IfcBSplineCurveForm::IfcBSplineCurveForm_UNSPECIFIED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBSplineCurveForm::operator Ifc4::IfcBSplineCurveForm::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBSplineSurfaceForm::declaration() const { return *IFC4_IfcBSplineSurfaceForm_type; } const IfcParse::enumeration_type& Ifc4::IfcBSplineSurfaceForm::Class() { return *IFC4_IfcBSplineSurfaceForm_type; } Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBSplineSurfaceForm_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBSplineSurfaceForm::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PLANE_SURF", "CYLINDRICAL_SURF", "CONICAL_SURF", "SPHERICAL_SURF", "TOROIDAL_SURF", "SURF_OF_REVOLUTION", "RULED_SURF", "GENERALISED_CONE", "QUADRIC_SURF", "SURF_OF_LINEAR_EXTRUSION", "UNSPECIFIED" }; return names[v]; } Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurfaceForm::FromString(const std::string& s) { if (s == "PLANE_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_PLANE_SURF; if (s == "CYLINDRICAL_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_CYLINDRICAL_SURF; if (s == "CONICAL_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_CONICAL_SURF; if (s == "SPHERICAL_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_SPHERICAL_SURF; if (s == "TOROIDAL_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_TOROIDAL_SURF; if (s == "SURF_OF_REVOLUTION") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_SURF_OF_REVOLUTION; if (s == "RULED_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_RULED_SURF; if (s == "GENERALISED_CONE") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_GENERALISED_CONE; if (s == "QUADRIC_SURF") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_QUADRIC_SURF; if (s == "SURF_OF_LINEAR_EXTRUSION") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION; if (s == "UNSPECIFIED") return ::Ifc4::IfcBSplineSurfaceForm::IfcBSplineSurfaceForm_UNSPECIFIED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBSplineSurfaceForm::operator Ifc4::IfcBSplineSurfaceForm::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBeamTypeEnum::declaration() const { return *IFC4_IfcBeamTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBeamTypeEnum::Class() { return *IFC4_IfcBeamTypeEnum_type; } Ifc4::IfcBeamTypeEnum::IfcBeamTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBeamTypeEnum::IfcBeamTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBeamTypeEnum::IfcBeamTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBeamTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BEAM", "JOIST", "HOLLOWCORE", "LINTEL", "SPANDREL", "T_BEAM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamTypeEnum::FromString(const std::string& s) { if (s == "BEAM") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_BEAM; if (s == "JOIST") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_JOIST; if (s == "HOLLOWCORE") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_HOLLOWCORE; if (s == "LINTEL") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_LINTEL; if (s == "SPANDREL") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_SPANDREL; if (s == "T_BEAM") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_T_BEAM; if (s == "USERDEFINED") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBeamTypeEnum::IfcBeamType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBeamTypeEnum::operator Ifc4::IfcBeamTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBenchmarkEnum::declaration() const { return *IFC4_IfcBenchmarkEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBenchmarkEnum::Class() { return *IFC4_IfcBenchmarkEnum_type; } Ifc4::IfcBenchmarkEnum::IfcBenchmarkEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBenchmarkEnum::IfcBenchmarkEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBenchmarkEnum::IfcBenchmarkEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBenchmarkEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBenchmarkEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "GREATERTHAN", "GREATERTHANOREQUALTO", "LESSTHAN", "LESSTHANOREQUALTO", "EQUALTO", "NOTEQUALTO", "INCLUDES", "NOTINCLUDES", "INCLUDEDIN", "NOTINCLUDEDIN" }; return names[v]; } Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcBenchmarkEnum::FromString(const std::string& s) { if (s == "GREATERTHAN") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_GREATERTHAN; if (s == "GREATERTHANOREQUALTO") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_GREATERTHANOREQUALTO; if (s == "LESSTHAN") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_LESSTHAN; if (s == "LESSTHANOREQUALTO") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_LESSTHANOREQUALTO; if (s == "EQUALTO") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_EQUALTO; if (s == "NOTEQUALTO") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_NOTEQUALTO; if (s == "INCLUDES") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_INCLUDES; if (s == "NOTINCLUDES") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_NOTINCLUDES; if (s == "INCLUDEDIN") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_INCLUDEDIN; if (s == "NOTINCLUDEDIN") return ::Ifc4::IfcBenchmarkEnum::IfcBenchmark_NOTINCLUDEDIN; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBenchmarkEnum::operator Ifc4::IfcBenchmarkEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBoilerTypeEnum::declaration() const { return *IFC4_IfcBoilerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBoilerTypeEnum::Class() { return *IFC4_IfcBoilerTypeEnum_type; } Ifc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBoilerTypeEnum::IfcBoilerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBoilerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBoilerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "WATER", "STEAM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerTypeEnum::FromString(const std::string& s) { if (s == "WATER") return ::Ifc4::IfcBoilerTypeEnum::IfcBoilerType_WATER; if (s == "STEAM") return ::Ifc4::IfcBoilerTypeEnum::IfcBoilerType_STEAM; if (s == "USERDEFINED") return ::Ifc4::IfcBoilerTypeEnum::IfcBoilerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBoilerTypeEnum::IfcBoilerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBoilerTypeEnum::operator Ifc4::IfcBoilerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBooleanOperator::declaration() const { return *IFC4_IfcBooleanOperator_type; } const IfcParse::enumeration_type& Ifc4::IfcBooleanOperator::Class() { return *IFC4_IfcBooleanOperator_type; } Ifc4::IfcBooleanOperator::IfcBooleanOperator(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBooleanOperator::IfcBooleanOperator(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBooleanOperator::IfcBooleanOperator(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBooleanOperator_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBooleanOperator::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "UNION", "INTERSECTION", "DIFFERENCE" }; return names[v]; } Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanOperator::FromString(const std::string& s) { if (s == "UNION") return ::Ifc4::IfcBooleanOperator::IfcBooleanOperator_UNION; if (s == "INTERSECTION") return ::Ifc4::IfcBooleanOperator::IfcBooleanOperator_INTERSECTION; if (s == "DIFFERENCE") return ::Ifc4::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBooleanOperator::operator Ifc4::IfcBooleanOperator::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::declaration() const { return *IFC4_IfcBuildingElementPartTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::Class() { return *IFC4_IfcBuildingElementPartTypeEnum_type; } Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementPartTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBuildingElementPartTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "INSULATION", "PRECASTPANEL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartTypeEnum::FromString(const std::string& s) { if (s == "INSULATION") return ::Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartType_INSULATION; if (s == "PRECASTPANEL") return ::Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartType_PRECASTPANEL; if (s == "USERDEFINED") return ::Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBuildingElementPartTypeEnum::IfcBuildingElementPartType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBuildingElementPartTypeEnum::operator Ifc4::IfcBuildingElementPartTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::declaration() const { return *IFC4_IfcBuildingElementProxyTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::Class() { return *IFC4_IfcBuildingElementProxyTypeEnum_type; } Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementProxyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBuildingElementProxyTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COMPLEX", "ELEMENT", "PARTIAL", "PROVISIONFORVOID", "PROVISIONFORSPACE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyTypeEnum::FromString(const std::string& s) { if (s == "COMPLEX") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_COMPLEX; if (s == "ELEMENT") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_ELEMENT; if (s == "PARTIAL") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PARTIAL; if (s == "PROVISIONFORVOID") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PROVISIONFORVOID; if (s == "PROVISIONFORSPACE") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_PROVISIONFORSPACE; if (s == "USERDEFINED") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBuildingElementProxyTypeEnum::operator Ifc4::IfcBuildingElementProxyTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::declaration() const { return *IFC4_IfcBuildingSystemTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::Class() { return *IFC4_IfcBuildingSystemTypeEnum_type; } Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBuildingSystemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBuildingSystemTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FENESTRATION", "FOUNDATION", "LOADBEARING", "OUTERSHELL", "SHADING", "TRANSPORT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBuildingSystemTypeEnum::Value Ifc4::IfcBuildingSystemTypeEnum::FromString(const std::string& s) { if (s == "FENESTRATION") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_FENESTRATION; if (s == "FOUNDATION") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_FOUNDATION; if (s == "LOADBEARING") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_LOADBEARING; if (s == "OUTERSHELL") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_OUTERSHELL; if (s == "SHADING") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_SHADING; if (s == "TRANSPORT") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_TRANSPORT; if (s == "USERDEFINED") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBuildingSystemTypeEnum::IfcBuildingSystemType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBuildingSystemTypeEnum::operator Ifc4::IfcBuildingSystemTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcBurnerTypeEnum::declaration() const { return *IFC4_IfcBurnerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcBurnerTypeEnum::Class() { return *IFC4_IfcBurnerTypeEnum_type; } Ifc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcBurnerTypeEnum::IfcBurnerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcBurnerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcBurnerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcBurnerTypeEnum::IfcBurnerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcBurnerTypeEnum::IfcBurnerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcBurnerTypeEnum::operator Ifc4::IfcBurnerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::declaration() const { return *IFC4_IfcCableCarrierFittingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::Class() { return *IFC4_IfcCableCarrierFittingTypeEnum_type; } Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCableCarrierFittingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BEND", "CROSS", "REDUCER", "TEE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingTypeEnum::FromString(const std::string& s) { if (s == "BEND") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_BEND; if (s == "CROSS") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_CROSS; if (s == "REDUCER") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_REDUCER; if (s == "TEE") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_TEE; if (s == "USERDEFINED") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCableCarrierFittingTypeEnum::operator Ifc4::IfcCableCarrierFittingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::declaration() const { return *IFC4_IfcCableCarrierSegmentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::Class() { return *IFC4_IfcCableCarrierSegmentTypeEnum_type; } Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CABLELADDERSEGMENT", "CABLETRAYSEGMENT", "CABLETRUNKINGSEGMENT", "CONDUITSEGMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(const std::string& s) { if (s == "CABLELADDERSEGMENT") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLELADDERSEGMENT; if (s == "CABLETRAYSEGMENT") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRAYSEGMENT; if (s == "CABLETRUNKINGSEGMENT") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT; if (s == "CONDUITSEGMENT") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_CONDUITSEGMENT; if (s == "USERDEFINED") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCableCarrierSegmentTypeEnum::operator Ifc4::IfcCableCarrierSegmentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCableFittingTypeEnum::declaration() const { return *IFC4_IfcCableFittingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCableFittingTypeEnum::Class() { return *IFC4_IfcCableFittingTypeEnum_type; } Ifc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCableFittingTypeEnum::IfcCableFittingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCableFittingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONNECTOR", "ENTRY", "EXIT", "JUNCTION", "TRANSITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingTypeEnum::FromString(const std::string& s) { if (s == "CONNECTOR") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_CONNECTOR; if (s == "ENTRY") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_ENTRY; if (s == "EXIT") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_EXIT; if (s == "JUNCTION") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_JUNCTION; if (s == "TRANSITION") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_TRANSITION; if (s == "USERDEFINED") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCableFittingTypeEnum::IfcCableFittingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCableFittingTypeEnum::operator Ifc4::IfcCableFittingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::declaration() const { return *IFC4_IfcCableSegmentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::Class() { return *IFC4_IfcCableSegmentTypeEnum_type; } Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCableSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCableSegmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BUSBARSEGMENT", "CABLESEGMENT", "CONDUCTORSEGMENT", "CORESEGMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentTypeEnum::FromString(const std::string& s) { if (s == "BUSBARSEGMENT") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_BUSBARSEGMENT; if (s == "CABLESEGMENT") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_CABLESEGMENT; if (s == "CONDUCTORSEGMENT") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_CONDUCTORSEGMENT; if (s == "CORESEGMENT") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_CORESEGMENT; if (s == "USERDEFINED") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCableSegmentTypeEnum::IfcCableSegmentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCableSegmentTypeEnum::operator Ifc4::IfcCableSegmentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcChangeActionEnum::declaration() const { return *IFC4_IfcChangeActionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcChangeActionEnum::Class() { return *IFC4_IfcChangeActionEnum_type; } Ifc4::IfcChangeActionEnum::IfcChangeActionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcChangeActionEnum::IfcChangeActionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcChangeActionEnum::IfcChangeActionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcChangeActionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcChangeActionEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "NOCHANGE", "MODIFIED", "ADDED", "DELETED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcChangeActionEnum::Value Ifc4::IfcChangeActionEnum::FromString(const std::string& s) { if (s == "NOCHANGE") return ::Ifc4::IfcChangeActionEnum::IfcChangeAction_NOCHANGE; if (s == "MODIFIED") return ::Ifc4::IfcChangeActionEnum::IfcChangeAction_MODIFIED; if (s == "ADDED") return ::Ifc4::IfcChangeActionEnum::IfcChangeAction_ADDED; if (s == "DELETED") return ::Ifc4::IfcChangeActionEnum::IfcChangeAction_DELETED; if (s == "NOTDEFINED") return ::Ifc4::IfcChangeActionEnum::IfcChangeAction_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcChangeActionEnum::operator Ifc4::IfcChangeActionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcChillerTypeEnum::declaration() const { return *IFC4_IfcChillerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcChillerTypeEnum::Class() { return *IFC4_IfcChillerTypeEnum_type; } Ifc4::IfcChillerTypeEnum::IfcChillerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcChillerTypeEnum::IfcChillerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcChillerTypeEnum::IfcChillerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcChillerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcChillerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRCOOLED", "WATERCOOLED", "HEATRECOVERY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerTypeEnum::FromString(const std::string& s) { if (s == "AIRCOOLED") return ::Ifc4::IfcChillerTypeEnum::IfcChillerType_AIRCOOLED; if (s == "WATERCOOLED") return ::Ifc4::IfcChillerTypeEnum::IfcChillerType_WATERCOOLED; if (s == "HEATRECOVERY") return ::Ifc4::IfcChillerTypeEnum::IfcChillerType_HEATRECOVERY; if (s == "USERDEFINED") return ::Ifc4::IfcChillerTypeEnum::IfcChillerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcChillerTypeEnum::IfcChillerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcChillerTypeEnum::operator Ifc4::IfcChillerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcChimneyTypeEnum::declaration() const { return *IFC4_IfcChimneyTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcChimneyTypeEnum::Class() { return *IFC4_IfcChimneyTypeEnum_type; } Ifc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcChimneyTypeEnum::IfcChimneyTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcChimneyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcChimneyTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcChimneyTypeEnum::IfcChimneyType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcChimneyTypeEnum::IfcChimneyType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcChimneyTypeEnum::operator Ifc4::IfcChimneyTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCoilTypeEnum::declaration() const { return *IFC4_IfcCoilTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCoilTypeEnum::Class() { return *IFC4_IfcCoilTypeEnum_type; } Ifc4::IfcCoilTypeEnum::IfcCoilTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCoilTypeEnum::IfcCoilTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCoilTypeEnum::IfcCoilTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoilTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCoilTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DXCOOLINGCOIL", "ELECTRICHEATINGCOIL", "GASHEATINGCOIL", "HYDRONICCOIL", "STEAMHEATINGCOIL", "WATERCOOLINGCOIL", "WATERHEATINGCOIL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilTypeEnum::FromString(const std::string& s) { if (s == "DXCOOLINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_DXCOOLINGCOIL; if (s == "ELECTRICHEATINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_ELECTRICHEATINGCOIL; if (s == "GASHEATINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_GASHEATINGCOIL; if (s == "HYDRONICCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_HYDRONICCOIL; if (s == "STEAMHEATINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_STEAMHEATINGCOIL; if (s == "WATERCOOLINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_WATERCOOLINGCOIL; if (s == "WATERHEATINGCOIL") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_WATERHEATINGCOIL; if (s == "USERDEFINED") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCoilTypeEnum::IfcCoilType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCoilTypeEnum::operator Ifc4::IfcCoilTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcColumnTypeEnum::declaration() const { return *IFC4_IfcColumnTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcColumnTypeEnum::Class() { return *IFC4_IfcColumnTypeEnum_type; } Ifc4::IfcColumnTypeEnum::IfcColumnTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcColumnTypeEnum::IfcColumnTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcColumnTypeEnum::IfcColumnTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcColumnTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcColumnTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COLUMN", "PILASTER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnTypeEnum::FromString(const std::string& s) { if (s == "COLUMN") return ::Ifc4::IfcColumnTypeEnum::IfcColumnType_COLUMN; if (s == "PILASTER") return ::Ifc4::IfcColumnTypeEnum::IfcColumnType_PILASTER; if (s == "USERDEFINED") return ::Ifc4::IfcColumnTypeEnum::IfcColumnType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcColumnTypeEnum::IfcColumnType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcColumnTypeEnum::operator Ifc4::IfcColumnTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum::declaration() const { return *IFC4_IfcCommunicationsApplianceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum::Class() { return *IFC4_IfcCommunicationsApplianceTypeEnum_type; } Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCommunicationsApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 14 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ANTENNA", "COMPUTER", "FAX", "GATEWAY", "MODEM", "NETWORKAPPLIANCE", "NETWORKBRIDGE", "NETWORKHUB", "PRINTER", "REPEATER", "ROUTER", "SCANNER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(const std::string& s) { if (s == "ANTENNA") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_ANTENNA; if (s == "COMPUTER") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_COMPUTER; if (s == "FAX") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_FAX; if (s == "GATEWAY") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_GATEWAY; if (s == "MODEM") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_MODEM; if (s == "NETWORKAPPLIANCE") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_NETWORKAPPLIANCE; if (s == "NETWORKBRIDGE") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_NETWORKBRIDGE; if (s == "NETWORKHUB") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_NETWORKHUB; if (s == "PRINTER") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_PRINTER; if (s == "REPEATER") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_REPEATER; if (s == "ROUTER") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_ROUTER; if (s == "SCANNER") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_SCANNER; if (s == "USERDEFINED") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCommunicationsApplianceTypeEnum::operator Ifc4::IfcCommunicationsApplianceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *IFC4_IfcComplexPropertyTemplateTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum::Class() { return *IFC4_IfcComplexPropertyTemplateTypeEnum_type; } Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcComplexPropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcComplexPropertyTemplateTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "P_COMPLEX", "Q_COMPLEX" }; return names[v]; } Ifc4::IfcComplexPropertyTemplateTypeEnum::Value Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(const std::string& s) { if (s == "P_COMPLEX") return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateType_P_COMPLEX; if (s == "Q_COMPLEX") return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateType_Q_COMPLEX; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcComplexPropertyTemplateTypeEnum::operator Ifc4::IfcComplexPropertyTemplateTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCompressorTypeEnum::declaration() const { return *IFC4_IfcCompressorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCompressorTypeEnum::Class() { return *IFC4_IfcCompressorTypeEnum_type; } Ifc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCompressorTypeEnum::IfcCompressorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCompressorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCompressorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 17 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DYNAMIC", "RECIPROCATING", "ROTARY", "SCROLL", "TROCHOIDAL", "SINGLESTAGE", "BOOSTER", "OPENTYPE", "HERMETIC", "SEMIHERMETIC", "WELDEDSHELLHERMETIC", "ROLLINGPISTON", "ROTARYVANE", "SINGLESCREW", "TWINSCREW", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorTypeEnum::FromString(const std::string& s) { if (s == "DYNAMIC") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_DYNAMIC; if (s == "RECIPROCATING") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_RECIPROCATING; if (s == "ROTARY") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_ROTARY; if (s == "SCROLL") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_SCROLL; if (s == "TROCHOIDAL") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_TROCHOIDAL; if (s == "SINGLESTAGE") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_SINGLESTAGE; if (s == "BOOSTER") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_BOOSTER; if (s == "OPENTYPE") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_OPENTYPE; if (s == "HERMETIC") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_HERMETIC; if (s == "SEMIHERMETIC") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_SEMIHERMETIC; if (s == "WELDEDSHELLHERMETIC") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_WELDEDSHELLHERMETIC; if (s == "ROLLINGPISTON") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_ROLLINGPISTON; if (s == "ROTARYVANE") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_ROTARYVANE; if (s == "SINGLESCREW") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_SINGLESCREW; if (s == "TWINSCREW") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_TWINSCREW; if (s == "USERDEFINED") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCompressorTypeEnum::IfcCompressorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCompressorTypeEnum::operator Ifc4::IfcCompressorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCondenserTypeEnum::declaration() const { return *IFC4_IfcCondenserTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCondenserTypeEnum::Class() { return *IFC4_IfcCondenserTypeEnum_type; } Ifc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCondenserTypeEnum::IfcCondenserTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCondenserTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCondenserTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRCOOLED", "EVAPORATIVECOOLED", "WATERCOOLED", "WATERCOOLEDBRAZEDPLATE", "WATERCOOLEDSHELLCOIL", "WATERCOOLEDSHELLTUBE", "WATERCOOLEDTUBEINTUBE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserTypeEnum::FromString(const std::string& s) { if (s == "AIRCOOLED") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_AIRCOOLED; if (s == "EVAPORATIVECOOLED") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_EVAPORATIVECOOLED; if (s == "WATERCOOLED") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLED; if (s == "WATERCOOLEDBRAZEDPLATE") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDBRAZEDPLATE; if (s == "WATERCOOLEDSHELLCOIL") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLCOIL; if (s == "WATERCOOLEDSHELLTUBE") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDSHELLTUBE; if (s == "WATERCOOLEDTUBEINTUBE") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_WATERCOOLEDTUBEINTUBE; if (s == "USERDEFINED") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCondenserTypeEnum::IfcCondenserType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCondenserTypeEnum::operator Ifc4::IfcCondenserTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcConnectionTypeEnum::declaration() const { return *IFC4_IfcConnectionTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcConnectionTypeEnum::Class() { return *IFC4_IfcConnectionTypeEnum_type; } Ifc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcConnectionTypeEnum::IfcConnectionTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcConnectionTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ATPATH", "ATSTART", "ATEND", "NOTDEFINED" }; return names[v]; } Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcConnectionTypeEnum::FromString(const std::string& s) { if (s == "ATPATH") return ::Ifc4::IfcConnectionTypeEnum::IfcConnectionType_ATPATH; if (s == "ATSTART") return ::Ifc4::IfcConnectionTypeEnum::IfcConnectionType_ATSTART; if (s == "ATEND") return ::Ifc4::IfcConnectionTypeEnum::IfcConnectionType_ATEND; if (s == "NOTDEFINED") return ::Ifc4::IfcConnectionTypeEnum::IfcConnectionType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcConnectionTypeEnum::operator Ifc4::IfcConnectionTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcConstraintEnum::declaration() const { return *IFC4_IfcConstraintEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcConstraintEnum::Class() { return *IFC4_IfcConstraintEnum_type; } Ifc4::IfcConstraintEnum::IfcConstraintEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcConstraintEnum::IfcConstraintEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcConstraintEnum::IfcConstraintEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstraintEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcConstraintEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "HARD", "SOFT", "ADVISORY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraintEnum::FromString(const std::string& s) { if (s == "HARD") return ::Ifc4::IfcConstraintEnum::IfcConstraint_HARD; if (s == "SOFT") return ::Ifc4::IfcConstraintEnum::IfcConstraint_SOFT; if (s == "ADVISORY") return ::Ifc4::IfcConstraintEnum::IfcConstraint_ADVISORY; if (s == "USERDEFINED") return ::Ifc4::IfcConstraintEnum::IfcConstraint_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcConstraintEnum::IfcConstraint_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcConstraintEnum::operator Ifc4::IfcConstraintEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionEquipmentResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class() { return *IFC4_IfcConstructionEquipmentResourceTypeEnum_type; } Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionEquipmentResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DEMOLISHING", "EARTHMOVING", "ERECTING", "HEATING", "LIGHTING", "PAVING", "PUMPING", "TRANSPORTING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(const std::string& s) { if (s == "DEMOLISHING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_DEMOLISHING; if (s == "EARTHMOVING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_EARTHMOVING; if (s == "ERECTING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_ERECTING; if (s == "HEATING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_HEATING; if (s == "LIGHTING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_LIGHTING; if (s == "PAVING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_PAVING; if (s == "PUMPING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_PUMPING; if (s == "TRANSPORTING") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_TRANSPORTING; if (s == "USERDEFINED") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionMaterialResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeEnum::Class() { return *IFC4_IfcConstructionMaterialResourceTypeEnum_type; } Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionMaterialResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AGGREGATES", "CONCRETE", "DRYWALL", "FUEL", "GYPSUM", "MASONRY", "METAL", "PLASTIC", "WOOD", "NOTDEFINED", "USERDEFINED" }; return names[v]; } Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(const std::string& s) { if (s == "AGGREGATES") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_AGGREGATES; if (s == "CONCRETE") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_CONCRETE; if (s == "DRYWALL") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_DRYWALL; if (s == "FUEL") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_FUEL; if (s == "GYPSUM") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_GYPSUM; if (s == "MASONRY") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_MASONRY; if (s == "METAL") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_METAL; if (s == "PLASTIC") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_PLASTIC; if (s == "WOOD") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_WOOD; if (s == "NOTDEFINED") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_NOTDEFINED; if (s == "USERDEFINED") return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceType_USERDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcConstructionMaterialResourceTypeEnum::operator Ifc4::IfcConstructionMaterialResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEnum::declaration() const { return *IFC4_IfcConstructionProductResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEnum::Class() { return *IFC4_IfcConstructionProductResourceTypeEnum_type; } Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcConstructionProductResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcConstructionProductResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ASSEMBLY", "FORMWORK", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProductResourceTypeEnum::FromString(const std::string& s) { if (s == "ASSEMBLY") return ::Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceType_ASSEMBLY; if (s == "FORMWORK") return ::Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceType_FORMWORK; if (s == "USERDEFINED") return ::Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcConstructionProductResourceTypeEnum::operator Ifc4::IfcConstructionProductResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcControllerTypeEnum::declaration() const { return *IFC4_IfcControllerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcControllerTypeEnum::Class() { return *IFC4_IfcControllerTypeEnum_type; } Ifc4::IfcControllerTypeEnum::IfcControllerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcControllerTypeEnum::IfcControllerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcControllerTypeEnum::IfcControllerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcControllerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcControllerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FLOATING", "PROGRAMMABLE", "PROPORTIONAL", "MULTIPOSITION", "TWOPOSITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerTypeEnum::FromString(const std::string& s) { if (s == "FLOATING") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_FLOATING; if (s == "PROGRAMMABLE") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_PROGRAMMABLE; if (s == "PROPORTIONAL") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_PROPORTIONAL; if (s == "MULTIPOSITION") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_MULTIPOSITION; if (s == "TWOPOSITION") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_TWOPOSITION; if (s == "USERDEFINED") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcControllerTypeEnum::IfcControllerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcControllerTypeEnum::operator Ifc4::IfcControllerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::declaration() const { return *IFC4_IfcCooledBeamTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::Class() { return *IFC4_IfcCooledBeamTypeEnum_type; } Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCooledBeamTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCooledBeamTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ACTIVE", "PASSIVE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamTypeEnum::FromString(const std::string& s) { if (s == "ACTIVE") return ::Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamType_ACTIVE; if (s == "PASSIVE") return ::Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamType_PASSIVE; if (s == "USERDEFINED") return ::Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCooledBeamTypeEnum::IfcCooledBeamType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCooledBeamTypeEnum::operator Ifc4::IfcCooledBeamTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::declaration() const { return *IFC4_IfcCoolingTowerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::Class() { return *IFC4_IfcCoolingTowerTypeEnum_type; } Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoolingTowerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCoolingTowerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "NATURALDRAFT", "MECHANICALINDUCEDDRAFT", "MECHANICALFORCEDDRAFT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerTypeEnum::FromString(const std::string& s) { if (s == "NATURALDRAFT") return ::Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NATURALDRAFT; if (s == "MECHANICALINDUCEDDRAFT") return ::Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALINDUCEDDRAFT; if (s == "MECHANICALFORCEDDRAFT") return ::Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_MECHANICALFORCEDDRAFT; if (s == "USERDEFINED") return ::Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCoolingTowerTypeEnum::IfcCoolingTowerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCoolingTowerTypeEnum::operator Ifc4::IfcCoolingTowerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCostItemTypeEnum::declaration() const { return *IFC4_IfcCostItemTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCostItemTypeEnum::Class() { return *IFC4_IfcCostItemTypeEnum_type; } Ifc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCostItemTypeEnum::IfcCostItemTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCostItemTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCostItemTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCostItemTypeEnum::Value Ifc4::IfcCostItemTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcCostItemTypeEnum::IfcCostItemType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCostItemTypeEnum::IfcCostItemType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCostItemTypeEnum::operator Ifc4::IfcCostItemTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::declaration() const { return *IFC4_IfcCostScheduleTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::Class() { return *IFC4_IfcCostScheduleTypeEnum_type; } Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCostScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCostScheduleTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BUDGET", "COSTPLAN", "ESTIMATE", "TENDER", "PRICEDBILLOFQUANTITIES", "UNPRICEDBILLOFQUANTITIES", "SCHEDULEOFRATES", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCostScheduleTypeEnum::Value Ifc4::IfcCostScheduleTypeEnum::FromString(const std::string& s) { if (s == "BUDGET") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_BUDGET; if (s == "COSTPLAN") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_COSTPLAN; if (s == "ESTIMATE") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_ESTIMATE; if (s == "TENDER") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_TENDER; if (s == "PRICEDBILLOFQUANTITIES") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_PRICEDBILLOFQUANTITIES; if (s == "UNPRICEDBILLOFQUANTITIES") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES; if (s == "SCHEDULEOFRATES") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_SCHEDULEOFRATES; if (s == "USERDEFINED") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCostScheduleTypeEnum::IfcCostScheduleType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCostScheduleTypeEnum::operator Ifc4::IfcCostScheduleTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCoveringTypeEnum::declaration() const { return *IFC4_IfcCoveringTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCoveringTypeEnum::Class() { return *IFC4_IfcCoveringTypeEnum_type; } Ifc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCoveringTypeEnum::IfcCoveringTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCoveringTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCoveringTypeEnum::ToString(Value v) { if ( v < 0 || v >= 12 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CEILING", "FLOORING", "CLADDING", "ROOFING", "MOLDING", "SKIRTINGBOARD", "INSULATION", "MEMBRANE", "SLEEVING", "WRAPPING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringTypeEnum::FromString(const std::string& s) { if (s == "CEILING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_CEILING; if (s == "FLOORING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_FLOORING; if (s == "CLADDING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_CLADDING; if (s == "ROOFING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_ROOFING; if (s == "MOLDING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_MOLDING; if (s == "SKIRTINGBOARD") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_SKIRTINGBOARD; if (s == "INSULATION") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_INSULATION; if (s == "MEMBRANE") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_MEMBRANE; if (s == "SLEEVING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_SLEEVING; if (s == "WRAPPING") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_WRAPPING; if (s == "USERDEFINED") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCoveringTypeEnum::IfcCoveringType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCoveringTypeEnum::operator Ifc4::IfcCoveringTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::declaration() const { return *IFC4_IfcCrewResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::Class() { return *IFC4_IfcCrewResourceTypeEnum_type; } Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCrewResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCrewResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "OFFICE", "SITE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceTypeEnum::FromString(const std::string& s) { if (s == "OFFICE") return ::Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceType_OFFICE; if (s == "SITE") return ::Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceType_SITE; if (s == "USERDEFINED") return ::Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCrewResourceTypeEnum::IfcCrewResourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCrewResourceTypeEnum::operator Ifc4::IfcCrewResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::declaration() const { return *IFC4_IfcCurtainWallTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::Class() { return *IFC4_IfcCurtainWallTypeEnum_type; } Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCurtainWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCurtainWallTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcCurtainWallTypeEnum::IfcCurtainWallType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCurtainWallTypeEnum::operator Ifc4::IfcCurtainWallTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcCurveInterpolationEnum::declaration() const { return *IFC4_IfcCurveInterpolationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcCurveInterpolationEnum::Class() { return *IFC4_IfcCurveInterpolationEnum_type; } Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcCurveInterpolationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcCurveInterpolationEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LINEAR", "LOG_LINEAR", "LOG_LOG", "NOTDEFINED" }; return names[v]; } Ifc4::IfcCurveInterpolationEnum::Value Ifc4::IfcCurveInterpolationEnum::FromString(const std::string& s) { if (s == "LINEAR") return ::Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolation_LINEAR; if (s == "LOG_LINEAR") return ::Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolation_LOG_LINEAR; if (s == "LOG_LOG") return ::Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolation_LOG_LOG; if (s == "NOTDEFINED") return ::Ifc4::IfcCurveInterpolationEnum::IfcCurveInterpolation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcCurveInterpolationEnum::operator Ifc4::IfcCurveInterpolationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDamperTypeEnum::declaration() const { return *IFC4_IfcDamperTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDamperTypeEnum::Class() { return *IFC4_IfcDamperTypeEnum_type; } Ifc4::IfcDamperTypeEnum::IfcDamperTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDamperTypeEnum::IfcDamperTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDamperTypeEnum::IfcDamperTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDamperTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDamperTypeEnum::ToString(Value v) { if ( v < 0 || v >= 13 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BACKDRAFTDAMPER", "BALANCINGDAMPER", "BLASTDAMPER", "CONTROLDAMPER", "FIREDAMPER", "FIRESMOKEDAMPER", "FUMEHOODEXHAUST", "GRAVITYDAMPER", "GRAVITYRELIEFDAMPER", "RELIEFDAMPER", "SMOKEDAMPER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperTypeEnum::FromString(const std::string& s) { if (s == "BACKDRAFTDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_BACKDRAFTDAMPER; if (s == "BALANCINGDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_BALANCINGDAMPER; if (s == "BLASTDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_BLASTDAMPER; if (s == "CONTROLDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_CONTROLDAMPER; if (s == "FIREDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_FIREDAMPER; if (s == "FIRESMOKEDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_FIRESMOKEDAMPER; if (s == "FUMEHOODEXHAUST") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_FUMEHOODEXHAUST; if (s == "GRAVITYDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_GRAVITYDAMPER; if (s == "GRAVITYRELIEFDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_GRAVITYRELIEFDAMPER; if (s == "RELIEFDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_RELIEFDAMPER; if (s == "SMOKEDAMPER") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_SMOKEDAMPER; if (s == "USERDEFINED") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDamperTypeEnum::IfcDamperType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDamperTypeEnum::operator Ifc4::IfcDamperTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDataOriginEnum::declaration() const { return *IFC4_IfcDataOriginEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDataOriginEnum::Class() { return *IFC4_IfcDataOriginEnum_type; } Ifc4::IfcDataOriginEnum::IfcDataOriginEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDataOriginEnum::IfcDataOriginEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDataOriginEnum::IfcDataOriginEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDataOriginEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDataOriginEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "MEASURED", "PREDICTED", "SIMULATED", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDataOriginEnum::Value Ifc4::IfcDataOriginEnum::FromString(const std::string& s) { if (s == "MEASURED") return ::Ifc4::IfcDataOriginEnum::IfcDataOrigin_MEASURED; if (s == "PREDICTED") return ::Ifc4::IfcDataOriginEnum::IfcDataOrigin_PREDICTED; if (s == "SIMULATED") return ::Ifc4::IfcDataOriginEnum::IfcDataOrigin_SIMULATED; if (s == "USERDEFINED") return ::Ifc4::IfcDataOriginEnum::IfcDataOrigin_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDataOriginEnum::IfcDataOrigin_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDataOriginEnum::operator Ifc4::IfcDataOriginEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDerivedUnitEnum::declaration() const { return *IFC4_IfcDerivedUnitEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDerivedUnitEnum::Class() { return *IFC4_IfcDerivedUnitEnum_type; } Ifc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDerivedUnitEnum::IfcDerivedUnitEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDerivedUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDerivedUnitEnum::ToString(Value v) { if ( v < 0 || v >= 53 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ANGULARVELOCITYUNIT", "AREADENSITYUNIT", "COMPOUNDPLANEANGLEUNIT", "DYNAMICVISCOSITYUNIT", "HEATFLUXDENSITYUNIT", "INTEGERCOUNTRATEUNIT", "ISOTHERMALMOISTURECAPACITYUNIT", "KINEMATICVISCOSITYUNIT", "LINEARVELOCITYUNIT", "MASSDENSITYUNIT", "MASSFLOWRATEUNIT", "MOISTUREDIFFUSIVITYUNIT", "MOLECULARWEIGHTUNIT", "SPECIFICHEATCAPACITYUNIT", "THERMALADMITTANCEUNIT", "THERMALCONDUCTANCEUNIT", "THERMALRESISTANCEUNIT", "THERMALTRANSMITTANCEUNIT", "VAPORPERMEABILITYUNIT", "VOLUMETRICFLOWRATEUNIT", "ROTATIONALFREQUENCYUNIT", "TORQUEUNIT", "MOMENTOFINERTIAUNIT", "LINEARMOMENTUNIT", "LINEARFORCEUNIT", "PLANARFORCEUNIT", "MODULUSOFELASTICITYUNIT", "SHEARMODULUSUNIT", "LINEARSTIFFNESSUNIT", "ROTATIONALSTIFFNESSUNIT", "MODULUSOFSUBGRADEREACTIONUNIT", "ACCELERATIONUNIT", "CURVATUREUNIT", "HEATINGVALUEUNIT", "IONCONCENTRATIONUNIT", "LUMINOUSINTENSITYDISTRIBUTIONUNIT", "MASSPERLENGTHUNIT", "MODULUSOFLINEARSUBGRADEREACTIONUNIT", "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT", "PHUNIT", "ROTATIONALMASSUNIT", "SECTIONAREAINTEGRALUNIT", "SECTIONMODULUSUNIT", "SOUNDPOWERLEVELUNIT", "SOUNDPOWERUNIT", "SOUNDPRESSURELEVELUNIT", "SOUNDPRESSUREUNIT", "TEMPERATUREGRADIENTUNIT", "TEMPERATURERATEOFCHANGEUNIT", "THERMALEXPANSIONCOEFFICIENTUNIT", "WARPINGCONSTANTUNIT", "WARPINGMOMENTUNIT", "USERDEFINED" }; return names[v]; } Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnitEnum::FromString(const std::string& s) { if (s == "ANGULARVELOCITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ANGULARVELOCITYUNIT; if (s == "AREADENSITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_AREADENSITYUNIT; if (s == "COMPOUNDPLANEANGLEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT; if (s == "DYNAMICVISCOSITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_DYNAMICVISCOSITYUNIT; if (s == "HEATFLUXDENSITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_HEATFLUXDENSITYUNIT; if (s == "INTEGERCOUNTRATEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_INTEGERCOUNTRATEUNIT; if (s == "ISOTHERMALMOISTURECAPACITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT; if (s == "KINEMATICVISCOSITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_KINEMATICVISCOSITYUNIT; if (s == "LINEARVELOCITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARVELOCITYUNIT; if (s == "MASSDENSITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MASSDENSITYUNIT; if (s == "MASSFLOWRATEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MASSFLOWRATEUNIT; if (s == "MOISTUREDIFFUSIVITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT; if (s == "MOLECULARWEIGHTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MOLECULARWEIGHTUNIT; if (s == "SPECIFICHEATCAPACITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT; if (s == "THERMALADMITTANCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALADMITTANCEUNIT; if (s == "THERMALCONDUCTANCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALCONDUCTANCEUNIT; if (s == "THERMALRESISTANCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALRESISTANCEUNIT; if (s == "THERMALTRANSMITTANCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALTRANSMITTANCEUNIT; if (s == "VAPORPERMEABILITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_VAPORPERMEABILITYUNIT; if (s == "VOLUMETRICFLOWRATEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT; if (s == "ROTATIONALFREQUENCYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALFREQUENCYUNIT; if (s == "TORQUEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_TORQUEUNIT; if (s == "MOMENTOFINERTIAUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MOMENTOFINERTIAUNIT; if (s == "LINEARMOMENTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARMOMENTUNIT; if (s == "LINEARFORCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARFORCEUNIT; if (s == "PLANARFORCEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_PLANARFORCEUNIT; if (s == "MODULUSOFELASTICITYUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFELASTICITYUNIT; if (s == "SHEARMODULUSUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SHEARMODULUSUNIT; if (s == "LINEARSTIFFNESSUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_LINEARSTIFFNESSUNIT; if (s == "ROTATIONALSTIFFNESSUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT; if (s == "MODULUSOFSUBGRADEREACTIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT; if (s == "ACCELERATIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ACCELERATIONUNIT; if (s == "CURVATUREUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_CURVATUREUNIT; if (s == "HEATINGVALUEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_HEATINGVALUEUNIT; if (s == "IONCONCENTRATIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_IONCONCENTRATIONUNIT; if (s == "LUMINOUSINTENSITYDISTRIBUTIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT; if (s == "MASSPERLENGTHUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MASSPERLENGTHUNIT; if (s == "MODULUSOFLINEARSUBGRADEREACTIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT; if (s == "MODULUSOFROTATIONALSUBGRADEREACTIONUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT; if (s == "PHUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_PHUNIT; if (s == "ROTATIONALMASSUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_ROTATIONALMASSUNIT; if (s == "SECTIONAREAINTEGRALUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONAREAINTEGRALUNIT; if (s == "SECTIONMODULUSUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SECTIONMODULUSUNIT; if (s == "SOUNDPOWERLEVELUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPOWERLEVELUNIT; if (s == "SOUNDPOWERUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPOWERUNIT; if (s == "SOUNDPRESSURELEVELUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPRESSURELEVELUNIT; if (s == "SOUNDPRESSUREUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_SOUNDPRESSUREUNIT; if (s == "TEMPERATUREGRADIENTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_TEMPERATUREGRADIENTUNIT; if (s == "TEMPERATURERATEOFCHANGEUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT; if (s == "THERMALEXPANSIONCOEFFICIENTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT; if (s == "WARPINGCONSTANTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGCONSTANTUNIT; if (s == "WARPINGMOMENTUNIT") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_WARPINGMOMENTUNIT; if (s == "USERDEFINED") return ::Ifc4::IfcDerivedUnitEnum::IfcDerivedUnit_USERDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDerivedUnitEnum::operator Ifc4::IfcDerivedUnitEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDirectionSenseEnum::declaration() const { return *IFC4_IfcDirectionSenseEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDirectionSenseEnum::Class() { return *IFC4_IfcDirectionSenseEnum_type; } Ifc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDirectionSenseEnum::IfcDirectionSenseEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDirectionSenseEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDirectionSenseEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "POSITIVE", "NEGATIVE" }; return names[v]; } Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcDirectionSenseEnum::FromString(const std::string& s) { if (s == "POSITIVE") return ::Ifc4::IfcDirectionSenseEnum::IfcDirectionSense_POSITIVE; if (s == "NEGATIVE") return ::Ifc4::IfcDirectionSenseEnum::IfcDirectionSense_NEGATIVE; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDirectionSenseEnum::operator Ifc4::IfcDirectionSenseEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::declaration() const { return *IFC4_IfcDiscreteAccessoryTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::Class() { return *IFC4_IfcDiscreteAccessoryTypeEnum_type; } Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDiscreteAccessoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ANCHORPLATE", "BRACKET", "SHOE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(const std::string& s) { if (s == "ANCHORPLATE") return ::Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryType_ANCHORPLATE; if (s == "BRACKET") return ::Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryType_BRACKET; if (s == "SHOE") return ::Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryType_SHOE; if (s == "USERDEFINED") return ::Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDiscreteAccessoryTypeEnum::operator Ifc4::IfcDiscreteAccessoryTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnum::declaration() const { return *IFC4_IfcDistributionChamberElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnum::Class() { return *IFC4_IfcDistributionChamberElementTypeEnum_type; } Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionChamberElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDistributionChamberElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FORMEDDUCT", "INSPECTIONCHAMBER", "INSPECTIONPIT", "MANHOLE", "METERCHAMBER", "SUMP", "TRENCH", "VALVECHAMBER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberElementTypeEnum::FromString(const std::string& s) { if (s == "FORMEDDUCT") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_FORMEDDUCT; if (s == "INSPECTIONCHAMBER") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONCHAMBER; if (s == "INSPECTIONPIT") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_INSPECTIONPIT; if (s == "MANHOLE") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_MANHOLE; if (s == "METERCHAMBER") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_METERCHAMBER; if (s == "SUMP") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_SUMP; if (s == "TRENCH") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_TRENCH; if (s == "VALVECHAMBER") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_VALVECHAMBER; if (s == "USERDEFINED") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDistributionChamberElementTypeEnum::operator Ifc4::IfcDistributionChamberElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::declaration() const { return *IFC4_IfcDistributionPortTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::Class() { return *IFC4_IfcDistributionPortTypeEnum_type; } Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionPortTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDistributionPortTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CABLE", "CABLECARRIER", "DUCT", "PIPE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDistributionPortTypeEnum::Value Ifc4::IfcDistributionPortTypeEnum::FromString(const std::string& s) { if (s == "CABLE") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_CABLE; if (s == "CABLECARRIER") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_CABLECARRIER; if (s == "DUCT") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_DUCT; if (s == "PIPE") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_PIPE; if (s == "USERDEFINED") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDistributionPortTypeEnum::IfcDistributionPortType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDistributionPortTypeEnum::operator Ifc4::IfcDistributionPortTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDistributionSystemEnum::declaration() const { return *IFC4_IfcDistributionSystemEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDistributionSystemEnum::Class() { return *IFC4_IfcDistributionSystemEnum_type; } Ifc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDistributionSystemEnum::IfcDistributionSystemEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDistributionSystemEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDistributionSystemEnum::ToString(Value v) { if ( v < 0 || v >= 44 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRCONDITIONING", "AUDIOVISUAL", "CHEMICAL", "CHILLEDWATER", "COMMUNICATION", "COMPRESSEDAIR", "CONDENSERWATER", "CONTROL", "CONVEYING", "DATA", "DISPOSAL", "DOMESTICCOLDWATER", "DOMESTICHOTWATER", "DRAINAGE", "EARTHING", "ELECTRICAL", "ELECTROACOUSTIC", "EXHAUST", "FIREPROTECTION", "FUEL", "GAS", "HAZARDOUS", "HEATING", "LIGHTING", "LIGHTNINGPROTECTION", "MUNICIPALSOLIDWASTE", "OIL", "OPERATIONAL", "POWERGENERATION", "RAINWATER", "REFRIGERATION", "SECURITY", "SEWAGE", "SIGNAL", "STORMWATER", "TELEPHONE", "TV", "VACUUM", "VENT", "VENTILATION", "WASTEWATER", "WATERSUPPLY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDistributionSystemEnum::Value Ifc4::IfcDistributionSystemEnum::FromString(const std::string& s) { if (s == "AIRCONDITIONING") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_AIRCONDITIONING; if (s == "AUDIOVISUAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_AUDIOVISUAL; if (s == "CHEMICAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_CHEMICAL; if (s == "CHILLEDWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_CHILLEDWATER; if (s == "COMMUNICATION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_COMMUNICATION; if (s == "COMPRESSEDAIR") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_COMPRESSEDAIR; if (s == "CONDENSERWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_CONDENSERWATER; if (s == "CONTROL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_CONTROL; if (s == "CONVEYING") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_CONVEYING; if (s == "DATA") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_DATA; if (s == "DISPOSAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_DISPOSAL; if (s == "DOMESTICCOLDWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_DOMESTICCOLDWATER; if (s == "DOMESTICHOTWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_DOMESTICHOTWATER; if (s == "DRAINAGE") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_DRAINAGE; if (s == "EARTHING") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_EARTHING; if (s == "ELECTRICAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_ELECTRICAL; if (s == "ELECTROACOUSTIC") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_ELECTROACOUSTIC; if (s == "EXHAUST") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_EXHAUST; if (s == "FIREPROTECTION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_FIREPROTECTION; if (s == "FUEL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_FUEL; if (s == "GAS") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_GAS; if (s == "HAZARDOUS") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_HAZARDOUS; if (s == "HEATING") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_HEATING; if (s == "LIGHTING") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_LIGHTING; if (s == "LIGHTNINGPROTECTION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_LIGHTNINGPROTECTION; if (s == "MUNICIPALSOLIDWASTE") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_MUNICIPALSOLIDWASTE; if (s == "OIL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_OIL; if (s == "OPERATIONAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_OPERATIONAL; if (s == "POWERGENERATION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_POWERGENERATION; if (s == "RAINWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_RAINWATER; if (s == "REFRIGERATION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_REFRIGERATION; if (s == "SECURITY") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_SECURITY; if (s == "SEWAGE") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_SEWAGE; if (s == "SIGNAL") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_SIGNAL; if (s == "STORMWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_STORMWATER; if (s == "TELEPHONE") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_TELEPHONE; if (s == "TV") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_TV; if (s == "VACUUM") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_VACUUM; if (s == "VENT") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_VENT; if (s == "VENTILATION") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_VENTILATION; if (s == "WASTEWATER") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_WASTEWATER; if (s == "WATERSUPPLY") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_WATERSUPPLY; if (s == "USERDEFINED") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDistributionSystemEnum::IfcDistributionSystem_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDistributionSystemEnum::operator Ifc4::IfcDistributionSystemEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::declaration() const { return *IFC4_IfcDocumentConfidentialityEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::Class() { return *IFC4_IfcDocumentConfidentialityEnum_type; } Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDocumentConfidentialityEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDocumentConfidentialityEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PUBLIC", "RESTRICTED", "CONFIDENTIAL", "PERSONAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDocumentConfidentialityEnum::Value Ifc4::IfcDocumentConfidentialityEnum::FromString(const std::string& s) { if (s == "PUBLIC") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PUBLIC; if (s == "RESTRICTED") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_RESTRICTED; if (s == "CONFIDENTIAL") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_CONFIDENTIAL; if (s == "PERSONAL") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_PERSONAL; if (s == "USERDEFINED") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDocumentConfidentialityEnum::IfcDocumentConfidentiality_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDocumentConfidentialityEnum::operator Ifc4::IfcDocumentConfidentialityEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDocumentStatusEnum::declaration() const { return *IFC4_IfcDocumentStatusEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDocumentStatusEnum::Class() { return *IFC4_IfcDocumentStatusEnum_type; } Ifc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDocumentStatusEnum::IfcDocumentStatusEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDocumentStatusEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDocumentStatusEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DRAFT", "FINALDRAFT", "FINAL", "REVISION", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDocumentStatusEnum::Value Ifc4::IfcDocumentStatusEnum::FromString(const std::string& s) { if (s == "DRAFT") return ::Ifc4::IfcDocumentStatusEnum::IfcDocumentStatus_DRAFT; if (s == "FINALDRAFT") return ::Ifc4::IfcDocumentStatusEnum::IfcDocumentStatus_FINALDRAFT; if (s == "FINAL") return ::Ifc4::IfcDocumentStatusEnum::IfcDocumentStatus_FINAL; if (s == "REVISION") return ::Ifc4::IfcDocumentStatusEnum::IfcDocumentStatus_REVISION; if (s == "NOTDEFINED") return ::Ifc4::IfcDocumentStatusEnum::IfcDocumentStatus_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDocumentStatusEnum::operator Ifc4::IfcDocumentStatusEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::declaration() const { return *IFC4_IfcDoorPanelOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::Class() { return *IFC4_IfcDoorPanelOperationEnum_type; } Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorPanelOperationEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SWINGING", "DOUBLE_ACTING", "SLIDING", "FOLDING", "REVOLVING", "ROLLINGUP", "FIXEDPANEL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelOperationEnum::FromString(const std::string& s) { if (s == "SWINGING") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SWINGING; if (s == "DOUBLE_ACTING") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_DOUBLE_ACTING; if (s == "SLIDING") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_SLIDING; if (s == "FOLDING") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_FOLDING; if (s == "REVOLVING") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_REVOLVING; if (s == "ROLLINGUP") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_ROLLINGUP; if (s == "FIXEDPANEL") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_FIXEDPANEL; if (s == "USERDEFINED") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorPanelOperationEnum::IfcDoorPanelOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorPanelOperationEnum::operator Ifc4::IfcDoorPanelOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::declaration() const { return *IFC4_IfcDoorPanelPositionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::Class() { return *IFC4_IfcDoorPanelPositionEnum_type; } Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorPanelPositionEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LEFT", "MIDDLE", "RIGHT", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelPositionEnum::FromString(const std::string& s) { if (s == "LEFT") return ::Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_LEFT; if (s == "MIDDLE") return ::Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_MIDDLE; if (s == "RIGHT") return ::Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_RIGHT; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorPanelPositionEnum::IfcDoorPanelPosition_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorPanelPositionEnum::operator Ifc4::IfcDoorPanelPositionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::declaration() const { return *IFC4_IfcDoorStyleConstructionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::Class() { return *IFC4_IfcDoorStyleConstructionEnum_type; } Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorStyleConstructionEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ALUMINIUM", "HIGH_GRADE_STEEL", "STEEL", "WOOD", "ALUMINIUM_WOOD", "ALUMINIUM_PLASTIC", "PLASTIC", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyleConstructionEnum::FromString(const std::string& s) { if (s == "ALUMINIUM") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM; if (s == "HIGH_GRADE_STEEL") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_HIGH_GRADE_STEEL; if (s == "STEEL") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_STEEL; if (s == "WOOD") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_WOOD; if (s == "ALUMINIUM_WOOD") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_WOOD; if (s == "ALUMINIUM_PLASTIC") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_ALUMINIUM_PLASTIC; if (s == "PLASTIC") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_PLASTIC; if (s == "USERDEFINED") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorStyleConstructionEnum::IfcDoorStyleConstruction_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorStyleConstructionEnum::operator Ifc4::IfcDoorStyleConstructionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::declaration() const { return *IFC4_IfcDoorStyleOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::Class() { return *IFC4_IfcDoorStyleOperationEnum_type; } Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorStyleOperationEnum::ToString(Value v) { if ( v < 0 || v >= 18 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SINGLE_SWING_LEFT", "SINGLE_SWING_RIGHT", "DOUBLE_DOOR_SINGLE_SWING", "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT", "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT", "DOUBLE_SWING_LEFT", "DOUBLE_SWING_RIGHT", "DOUBLE_DOOR_DOUBLE_SWING", "SLIDING_TO_LEFT", "SLIDING_TO_RIGHT", "DOUBLE_DOOR_SLIDING", "FOLDING_TO_LEFT", "FOLDING_TO_RIGHT", "DOUBLE_DOOR_FOLDING", "REVOLVING", "ROLLINGUP", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyleOperationEnum::FromString(const std::string& s) { if (s == "SINGLE_SWING_LEFT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_LEFT; if (s == "SINGLE_SWING_RIGHT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SINGLE_SWING_RIGHT; if (s == "DOUBLE_DOOR_SINGLE_SWING") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING; if (s == "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT; if (s == "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT; if (s == "DOUBLE_SWING_LEFT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_LEFT; if (s == "DOUBLE_SWING_RIGHT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_SWING_RIGHT; if (s == "DOUBLE_DOOR_DOUBLE_SWING") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING; if (s == "SLIDING_TO_LEFT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_LEFT; if (s == "SLIDING_TO_RIGHT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_SLIDING_TO_RIGHT; if (s == "DOUBLE_DOOR_SLIDING") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING; if (s == "FOLDING_TO_LEFT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_LEFT; if (s == "FOLDING_TO_RIGHT") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_FOLDING_TO_RIGHT; if (s == "DOUBLE_DOOR_FOLDING") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING; if (s == "REVOLVING") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_REVOLVING; if (s == "ROLLINGUP") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_ROLLINGUP; if (s == "USERDEFINED") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorStyleOperationEnum::IfcDoorStyleOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorStyleOperationEnum::operator Ifc4::IfcDoorStyleOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeEnum::declaration() const { return *IFC4_IfcDoorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeEnum::Class() { return *IFC4_IfcDoorTypeEnum_type; } Ifc4::IfcDoorTypeEnum::IfcDoorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorTypeEnum::IfcDoorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorTypeEnum::IfcDoorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DOOR", "GATE", "TRAPDOOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorTypeEnum::FromString(const std::string& s) { if (s == "DOOR") return ::Ifc4::IfcDoorTypeEnum::IfcDoorType_DOOR; if (s == "GATE") return ::Ifc4::IfcDoorTypeEnum::IfcDoorType_GATE; if (s == "TRAPDOOR") return ::Ifc4::IfcDoorTypeEnum::IfcDoorType_TRAPDOOR; if (s == "USERDEFINED") return ::Ifc4::IfcDoorTypeEnum::IfcDoorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorTypeEnum::IfcDoorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorTypeEnum::operator Ifc4::IfcDoorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::declaration() const { return *IFC4_IfcDoorTypeOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::Class() { return *IFC4_IfcDoorTypeOperationEnum_type; } Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoorTypeOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDoorTypeOperationEnum::ToString(Value v) { if ( v < 0 || v >= 20 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SINGLE_SWING_LEFT", "SINGLE_SWING_RIGHT", "DOUBLE_DOOR_SINGLE_SWING", "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT", "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT", "DOUBLE_SWING_LEFT", "DOUBLE_SWING_RIGHT", "DOUBLE_DOOR_DOUBLE_SWING", "SLIDING_TO_LEFT", "SLIDING_TO_RIGHT", "DOUBLE_DOOR_SLIDING", "FOLDING_TO_LEFT", "FOLDING_TO_RIGHT", "DOUBLE_DOOR_FOLDING", "REVOLVING", "ROLLINGUP", "SWING_FIXED_LEFT", "SWING_FIXED_RIGHT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorTypeOperationEnum::FromString(const std::string& s) { if (s == "SINGLE_SWING_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SINGLE_SWING_LEFT; if (s == "SINGLE_SWING_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SINGLE_SWING_RIGHT; if (s == "DOUBLE_DOOR_SINGLE_SWING") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING; if (s == "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT; if (s == "DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT; if (s == "DOUBLE_SWING_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_SWING_LEFT; if (s == "DOUBLE_SWING_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_SWING_RIGHT; if (s == "DOUBLE_DOOR_DOUBLE_SWING") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING; if (s == "SLIDING_TO_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SLIDING_TO_LEFT; if (s == "SLIDING_TO_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SLIDING_TO_RIGHT; if (s == "DOUBLE_DOOR_SLIDING") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING; if (s == "FOLDING_TO_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_FOLDING_TO_LEFT; if (s == "FOLDING_TO_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_FOLDING_TO_RIGHT; if (s == "DOUBLE_DOOR_FOLDING") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING; if (s == "REVOLVING") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_REVOLVING; if (s == "ROLLINGUP") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_ROLLINGUP; if (s == "SWING_FIXED_LEFT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SWING_FIXED_LEFT; if (s == "SWING_FIXED_RIGHT") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SWING_FIXED_RIGHT; if (s == "USERDEFINED") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDoorTypeOperationEnum::operator Ifc4::IfcDoorTypeOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::declaration() const { return *IFC4_IfcDuctFittingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::Class() { return *IFC4_IfcDuctFittingTypeEnum_type; } Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDuctFittingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BEND", "CONNECTOR", "ENTRY", "EXIT", "JUNCTION", "OBSTRUCTION", "TRANSITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingTypeEnum::FromString(const std::string& s) { if (s == "BEND") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_BEND; if (s == "CONNECTOR") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_CONNECTOR; if (s == "ENTRY") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_ENTRY; if (s == "EXIT") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_EXIT; if (s == "JUNCTION") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_JUNCTION; if (s == "OBSTRUCTION") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_OBSTRUCTION; if (s == "TRANSITION") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_TRANSITION; if (s == "USERDEFINED") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDuctFittingTypeEnum::IfcDuctFittingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDuctFittingTypeEnum::operator Ifc4::IfcDuctFittingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::declaration() const { return *IFC4_IfcDuctSegmentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::Class() { return *IFC4_IfcDuctSegmentTypeEnum_type; } Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDuctSegmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "RIGIDSEGMENT", "FLEXIBLESEGMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentTypeEnum::FromString(const std::string& s) { if (s == "RIGIDSEGMENT") return ::Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_RIGIDSEGMENT; if (s == "FLEXIBLESEGMENT") return ::Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_FLEXIBLESEGMENT; if (s == "USERDEFINED") return ::Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDuctSegmentTypeEnum::IfcDuctSegmentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDuctSegmentTypeEnum::operator Ifc4::IfcDuctSegmentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::declaration() const { return *IFC4_IfcDuctSilencerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::Class() { return *IFC4_IfcDuctSilencerTypeEnum_type; } Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuctSilencerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcDuctSilencerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FLATOVAL", "RECTANGULAR", "ROUND", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerTypeEnum::FromString(const std::string& s) { if (s == "FLATOVAL") return ::Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_FLATOVAL; if (s == "RECTANGULAR") return ::Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_RECTANGULAR; if (s == "ROUND") return ::Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_ROUND; if (s == "USERDEFINED") return ::Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcDuctSilencerTypeEnum::IfcDuctSilencerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcDuctSilencerTypeEnum::operator Ifc4::IfcDuctSilencerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::declaration() const { return *IFC4_IfcElectricApplianceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::Class() { return *IFC4_IfcElectricApplianceTypeEnum_type; } Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricApplianceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricApplianceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 18 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DISHWASHER", "ELECTRICCOOKER", "FREESTANDINGELECTRICHEATER", "FREESTANDINGFAN", "FREESTANDINGWATERHEATER", "FREESTANDINGWATERCOOLER", "FREEZER", "FRIDGE_FREEZER", "HANDDRYER", "KITCHENMACHINE", "MICROWAVE", "PHOTOCOPIER", "REFRIGERATOR", "TUMBLEDRYER", "VENDINGMACHINE", "WASHINGMACHINE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceTypeEnum::FromString(const std::string& s) { if (s == "DISHWASHER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_DISHWASHER; if (s == "ELECTRICCOOKER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_ELECTRICCOOKER; if (s == "FREESTANDINGELECTRICHEATER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGELECTRICHEATER; if (s == "FREESTANDINGFAN") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGFAN; if (s == "FREESTANDINGWATERHEATER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGWATERHEATER; if (s == "FREESTANDINGWATERCOOLER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREESTANDINGWATERCOOLER; if (s == "FREEZER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FREEZER; if (s == "FRIDGE_FREEZER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_FRIDGE_FREEZER; if (s == "HANDDRYER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_HANDDRYER; if (s == "KITCHENMACHINE") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_KITCHENMACHINE; if (s == "MICROWAVE") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_MICROWAVE; if (s == "PHOTOCOPIER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_PHOTOCOPIER; if (s == "REFRIGERATOR") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_REFRIGERATOR; if (s == "TUMBLEDRYER") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_TUMBLEDRYER; if (s == "VENDINGMACHINE") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_VENDINGMACHINE; if (s == "WASHINGMACHINE") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_WASHINGMACHINE; if (s == "USERDEFINED") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricApplianceTypeEnum::IfcElectricApplianceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricApplianceTypeEnum::operator Ifc4::IfcElectricApplianceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum::declaration() const { return *IFC4_IfcElectricDistributionBoardTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum::Class() { return *IFC4_IfcElectricDistributionBoardTypeEnum_type; } Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricDistributionBoardTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONSUMERUNIT", "DISTRIBUTIONBOARD", "MOTORCONTROLCENTRE", "SWITCHBOARD", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(const std::string& s) { if (s == "CONSUMERUNIT") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_CONSUMERUNIT; if (s == "DISTRIBUTIONBOARD") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_DISTRIBUTIONBOARD; if (s == "MOTORCONTROLCENTRE") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_MOTORCONTROLCENTRE; if (s == "SWITCHBOARD") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_SWITCHBOARD; if (s == "USERDEFINED") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricDistributionBoardTypeEnum::operator Ifc4::IfcElectricDistributionBoardTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *IFC4_IfcElectricFlowStorageDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class() { return *IFC4_IfcElectricFlowStorageDeviceTypeEnum_type; } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricFlowStorageDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BATTERY", "CAPACITORBANK", "HARMONICFILTER", "INDUCTORBANK", "UPS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(const std::string& s) { if (s == "BATTERY") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_BATTERY; if (s == "CAPACITORBANK") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_CAPACITORBANK; if (s == "HARMONICFILTER") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_HARMONICFILTER; if (s == "INDUCTORBANK") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_INDUCTORBANK; if (s == "UPS") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_UPS; if (s == "USERDEFINED") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::declaration() const { return *IFC4_IfcElectricGeneratorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::Class() { return *IFC4_IfcElectricGeneratorTypeEnum_type; } Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricGeneratorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricGeneratorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CHP", "ENGINEGENERATOR", "STANDALONE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorTypeEnum::FromString(const std::string& s) { if (s == "CHP") return ::Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_CHP; if (s == "ENGINEGENERATOR") return ::Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_ENGINEGENERATOR; if (s == "STANDALONE") return ::Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_STANDALONE; if (s == "USERDEFINED") return ::Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricGeneratorTypeEnum::IfcElectricGeneratorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricGeneratorTypeEnum::operator Ifc4::IfcElectricGeneratorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::declaration() const { return *IFC4_IfcElectricMotorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::Class() { return *IFC4_IfcElectricMotorTypeEnum_type; } Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricMotorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricMotorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DC", "INDUCTION", "POLYPHASE", "RELUCTANCESYNCHRONOUS", "SYNCHRONOUS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorTypeEnum::FromString(const std::string& s) { if (s == "DC") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_DC; if (s == "INDUCTION") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_INDUCTION; if (s == "POLYPHASE") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_POLYPHASE; if (s == "RELUCTANCESYNCHRONOUS") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_RELUCTANCESYNCHRONOUS; if (s == "SYNCHRONOUS") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_SYNCHRONOUS; if (s == "USERDEFINED") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricMotorTypeEnum::IfcElectricMotorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricMotorTypeEnum::operator Ifc4::IfcElectricMotorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::declaration() const { return *IFC4_IfcElectricTimeControlTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::Class() { return *IFC4_IfcElectricTimeControlTypeEnum_type; } Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricTimeControlTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElectricTimeControlTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "TIMECLOCK", "TIMEDELAY", "RELAY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlTypeEnum::FromString(const std::string& s) { if (s == "TIMECLOCK") return ::Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMECLOCK; if (s == "TIMEDELAY") return ::Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_TIMEDELAY; if (s == "RELAY") return ::Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_RELAY; if (s == "USERDEFINED") return ::Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElectricTimeControlTypeEnum::IfcElectricTimeControlType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElectricTimeControlTypeEnum::operator Ifc4::IfcElectricTimeControlTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::declaration() const { return *IFC4_IfcElementAssemblyTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::Class() { return *IFC4_IfcElementAssemblyTypeEnum_type; } Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElementAssemblyTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElementAssemblyTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ACCESSORY_ASSEMBLY", "ARCH", "BEAM_GRID", "BRACED_FRAME", "GIRDER", "REINFORCEMENT_UNIT", "RIGID_FRAME", "SLAB_FIELD", "TRUSS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyTypeEnum::FromString(const std::string& s) { if (s == "ACCESSORY_ASSEMBLY") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ACCESSORY_ASSEMBLY; if (s == "ARCH") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_ARCH; if (s == "BEAM_GRID") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BEAM_GRID; if (s == "BRACED_FRAME") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_BRACED_FRAME; if (s == "GIRDER") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_GIRDER; if (s == "REINFORCEMENT_UNIT") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_REINFORCEMENT_UNIT; if (s == "RIGID_FRAME") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_RIGID_FRAME; if (s == "SLAB_FIELD") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_SLAB_FIELD; if (s == "TRUSS") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_TRUSS; if (s == "USERDEFINED") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcElementAssemblyTypeEnum::IfcElementAssemblyType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElementAssemblyTypeEnum::operator Ifc4::IfcElementAssemblyTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcElementCompositionEnum::declaration() const { return *IFC4_IfcElementCompositionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcElementCompositionEnum::Class() { return *IFC4_IfcElementCompositionEnum_type; } Ifc4::IfcElementCompositionEnum::IfcElementCompositionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElementCompositionEnum::IfcElementCompositionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcElementCompositionEnum::IfcElementCompositionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcElementCompositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcElementCompositionEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COMPLEX", "ELEMENT", "PARTIAL" }; return names[v]; } Ifc4::IfcElementCompositionEnum::Value Ifc4::IfcElementCompositionEnum::FromString(const std::string& s) { if (s == "COMPLEX") return ::Ifc4::IfcElementCompositionEnum::IfcElementComposition_COMPLEX; if (s == "ELEMENT") return ::Ifc4::IfcElementCompositionEnum::IfcElementComposition_ELEMENT; if (s == "PARTIAL") return ::Ifc4::IfcElementCompositionEnum::IfcElementComposition_PARTIAL; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcElementCompositionEnum::operator Ifc4::IfcElementCompositionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcEngineTypeEnum::declaration() const { return *IFC4_IfcEngineTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcEngineTypeEnum::Class() { return *IFC4_IfcEngineTypeEnum_type; } Ifc4::IfcEngineTypeEnum::IfcEngineTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEngineTypeEnum::IfcEngineTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcEngineTypeEnum::IfcEngineTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcEngineTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcEngineTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "EXTERNALCOMBUSTION", "INTERNALCOMBUSTION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineTypeEnum::FromString(const std::string& s) { if (s == "EXTERNALCOMBUSTION") return ::Ifc4::IfcEngineTypeEnum::IfcEngineType_EXTERNALCOMBUSTION; if (s == "INTERNALCOMBUSTION") return ::Ifc4::IfcEngineTypeEnum::IfcEngineType_INTERNALCOMBUSTION; if (s == "USERDEFINED") return ::Ifc4::IfcEngineTypeEnum::IfcEngineType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcEngineTypeEnum::IfcEngineType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcEngineTypeEnum::operator Ifc4::IfcEngineTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::declaration() const { return *IFC4_IfcEvaporativeCoolerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::Class() { return *IFC4_IfcEvaporativeCoolerTypeEnum_type; } Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcEvaporativeCoolerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER", "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER", "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER", "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER", "DIRECTEVAPORATIVEAIRWASHER", "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER", "INDIRECTEVAPORATIVEWETCOIL", "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER", "INDIRECTDIRECTCOMBINATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(const std::string& s) { if (s == "DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER; if (s == "DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER; if (s == "DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER; if (s == "DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER; if (s == "DIRECTEVAPORATIVEAIRWASHER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER; if (s == "INDIRECTEVAPORATIVEPACKAGEAIRCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER; if (s == "INDIRECTEVAPORATIVEWETCOIL") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL; if (s == "INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER; if (s == "INDIRECTDIRECTCOMBINATION") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION; if (s == "USERDEFINED") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcEvaporativeCoolerTypeEnum::operator Ifc4::IfcEvaporativeCoolerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::declaration() const { return *IFC4_IfcEvaporatorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::Class() { return *IFC4_IfcEvaporatorTypeEnum_type; } Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcEvaporatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcEvaporatorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DIRECTEXPANSION", "DIRECTEXPANSIONSHELLANDTUBE", "DIRECTEXPANSIONTUBEINTUBE", "DIRECTEXPANSIONBRAZEDPLATE", "FLOODEDSHELLANDTUBE", "SHELLANDCOIL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorTypeEnum::FromString(const std::string& s) { if (s == "DIRECTEXPANSION") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSION; if (s == "DIRECTEXPANSIONSHELLANDTUBE") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE; if (s == "DIRECTEXPANSIONTUBEINTUBE") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE; if (s == "DIRECTEXPANSIONBRAZEDPLATE") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE; if (s == "FLOODEDSHELLANDTUBE") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_FLOODEDSHELLANDTUBE; if (s == "SHELLANDCOIL") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_SHELLANDCOIL; if (s == "USERDEFINED") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcEvaporatorTypeEnum::IfcEvaporatorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcEvaporatorTypeEnum::operator Ifc4::IfcEvaporatorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::declaration() const { return *IFC4_IfcEventTriggerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::Class() { return *IFC4_IfcEventTriggerTypeEnum_type; } Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcEventTriggerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcEventTriggerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "EVENTRULE", "EVENTMESSAGE", "EVENTTIME", "EVENTCOMPLEX", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventTriggerTypeEnum::FromString(const std::string& s) { if (s == "EVENTRULE") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_EVENTRULE; if (s == "EVENTMESSAGE") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_EVENTMESSAGE; if (s == "EVENTTIME") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_EVENTTIME; if (s == "EVENTCOMPLEX") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_EVENTCOMPLEX; if (s == "USERDEFINED") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcEventTriggerTypeEnum::IfcEventTriggerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcEventTriggerTypeEnum::operator Ifc4::IfcEventTriggerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcEventTypeEnum::declaration() const { return *IFC4_IfcEventTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcEventTypeEnum::Class() { return *IFC4_IfcEventTypeEnum_type; } Ifc4::IfcEventTypeEnum::IfcEventTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEventTypeEnum::IfcEventTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcEventTypeEnum::IfcEventTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcEventTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcEventTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STARTEVENT", "ENDEVENT", "INTERMEDIATEEVENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventTypeEnum::FromString(const std::string& s) { if (s == "STARTEVENT") return ::Ifc4::IfcEventTypeEnum::IfcEventType_STARTEVENT; if (s == "ENDEVENT") return ::Ifc4::IfcEventTypeEnum::IfcEventType_ENDEVENT; if (s == "INTERMEDIATEEVENT") return ::Ifc4::IfcEventTypeEnum::IfcEventType_INTERMEDIATEEVENT; if (s == "USERDEFINED") return ::Ifc4::IfcEventTypeEnum::IfcEventType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcEventTypeEnum::IfcEventType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcEventTypeEnum::operator Ifc4::IfcEventTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::declaration() const { return *IFC4_IfcExternalSpatialElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::Class() { return *IFC4_IfcExternalSpatialElementTypeEnum_type; } Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcExternalSpatialElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcExternalSpatialElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "EXTERNAL", "EXTERNAL_EARTH", "EXTERNAL_WATER", "EXTERNAL_FIRE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcExternalSpatialElementTypeEnum::Value Ifc4::IfcExternalSpatialElementTypeEnum::FromString(const std::string& s) { if (s == "EXTERNAL") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL; if (s == "EXTERNAL_EARTH") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL_EARTH; if (s == "EXTERNAL_WATER") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL_WATER; if (s == "EXTERNAL_FIRE") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_EXTERNAL_FIRE; if (s == "USERDEFINED") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcExternalSpatialElementTypeEnum::operator Ifc4::IfcExternalSpatialElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFanTypeEnum::declaration() const { return *IFC4_IfcFanTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFanTypeEnum::Class() { return *IFC4_IfcFanTypeEnum_type; } Ifc4::IfcFanTypeEnum::IfcFanTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFanTypeEnum::IfcFanTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFanTypeEnum::IfcFanTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFanTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CENTRIFUGALFORWARDCURVED", "CENTRIFUGALRADIAL", "CENTRIFUGALBACKWARDINCLINEDCURVED", "CENTRIFUGALAIRFOIL", "TUBEAXIAL", "VANEAXIAL", "PROPELLORAXIAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanTypeEnum::FromString(const std::string& s) { if (s == "CENTRIFUGALFORWARDCURVED") return ::Ifc4::IfcFanTypeEnum::IfcFanType_CENTRIFUGALFORWARDCURVED; if (s == "CENTRIFUGALRADIAL") return ::Ifc4::IfcFanTypeEnum::IfcFanType_CENTRIFUGALRADIAL; if (s == "CENTRIFUGALBACKWARDINCLINEDCURVED") return ::Ifc4::IfcFanTypeEnum::IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED; if (s == "CENTRIFUGALAIRFOIL") return ::Ifc4::IfcFanTypeEnum::IfcFanType_CENTRIFUGALAIRFOIL; if (s == "TUBEAXIAL") return ::Ifc4::IfcFanTypeEnum::IfcFanType_TUBEAXIAL; if (s == "VANEAXIAL") return ::Ifc4::IfcFanTypeEnum::IfcFanType_VANEAXIAL; if (s == "PROPELLORAXIAL") return ::Ifc4::IfcFanTypeEnum::IfcFanType_PROPELLORAXIAL; if (s == "USERDEFINED") return ::Ifc4::IfcFanTypeEnum::IfcFanType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFanTypeEnum::IfcFanType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFanTypeEnum::operator Ifc4::IfcFanTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFastenerTypeEnum::declaration() const { return *IFC4_IfcFastenerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFastenerTypeEnum::Class() { return *IFC4_IfcFastenerTypeEnum_type; } Ifc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFastenerTypeEnum::IfcFastenerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFastenerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "GLUE", "MORTAR", "WELD", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerTypeEnum::FromString(const std::string& s) { if (s == "GLUE") return ::Ifc4::IfcFastenerTypeEnum::IfcFastenerType_GLUE; if (s == "MORTAR") return ::Ifc4::IfcFastenerTypeEnum::IfcFastenerType_MORTAR; if (s == "WELD") return ::Ifc4::IfcFastenerTypeEnum::IfcFastenerType_WELD; if (s == "USERDEFINED") return ::Ifc4::IfcFastenerTypeEnum::IfcFastenerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFastenerTypeEnum::IfcFastenerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFastenerTypeEnum::operator Ifc4::IfcFastenerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFilterTypeEnum::declaration() const { return *IFC4_IfcFilterTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFilterTypeEnum::Class() { return *IFC4_IfcFilterTypeEnum_type; } Ifc4::IfcFilterTypeEnum::IfcFilterTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFilterTypeEnum::IfcFilterTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFilterTypeEnum::IfcFilterTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFilterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFilterTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRPARTICLEFILTER", "COMPRESSEDAIRFILTER", "ODORFILTER", "OILFILTER", "STRAINER", "WATERFILTER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterTypeEnum::FromString(const std::string& s) { if (s == "AIRPARTICLEFILTER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_AIRPARTICLEFILTER; if (s == "COMPRESSEDAIRFILTER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_COMPRESSEDAIRFILTER; if (s == "ODORFILTER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_ODORFILTER; if (s == "OILFILTER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_OILFILTER; if (s == "STRAINER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_STRAINER; if (s == "WATERFILTER") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_WATERFILTER; if (s == "USERDEFINED") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFilterTypeEnum::IfcFilterType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFilterTypeEnum::operator Ifc4::IfcFilterTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *IFC4_IfcFireSuppressionTerminalTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum::Class() { return *IFC4_IfcFireSuppressionTerminalTypeEnum_type; } Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFireSuppressionTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BREECHINGINLET", "FIREHYDRANT", "HOSEREEL", "SPRINKLER", "SPRINKLERDEFLECTOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(const std::string& s) { if (s == "BREECHINGINLET") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_BREECHINGINLET; if (s == "FIREHYDRANT") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_FIREHYDRANT; if (s == "HOSEREEL") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_HOSEREEL; if (s == "SPRINKLER") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLER; if (s == "SPRINKLERDEFLECTOR") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR; if (s == "USERDEFINED") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFireSuppressionTerminalTypeEnum::operator Ifc4::IfcFireSuppressionTerminalTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFlowDirectionEnum::declaration() const { return *IFC4_IfcFlowDirectionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFlowDirectionEnum::Class() { return *IFC4_IfcFlowDirectionEnum_type; } Ifc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFlowDirectionEnum::IfcFlowDirectionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFlowDirectionEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SOURCE", "SINK", "SOURCEANDSINK", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFlowDirectionEnum::Value Ifc4::IfcFlowDirectionEnum::FromString(const std::string& s) { if (s == "SOURCE") return ::Ifc4::IfcFlowDirectionEnum::IfcFlowDirection_SOURCE; if (s == "SINK") return ::Ifc4::IfcFlowDirectionEnum::IfcFlowDirection_SINK; if (s == "SOURCEANDSINK") return ::Ifc4::IfcFlowDirectionEnum::IfcFlowDirection_SOURCEANDSINK; if (s == "NOTDEFINED") return ::Ifc4::IfcFlowDirectionEnum::IfcFlowDirection_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFlowDirectionEnum::operator Ifc4::IfcFlowDirectionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::declaration() const { return *IFC4_IfcFlowInstrumentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::Class() { return *IFC4_IfcFlowInstrumentTypeEnum_type; } Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowInstrumentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFlowInstrumentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PRESSUREGAUGE", "THERMOMETER", "AMMETER", "FREQUENCYMETER", "POWERFACTORMETER", "PHASEANGLEMETER", "VOLTMETER_PEAK", "VOLTMETER_RMS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentTypeEnum::FromString(const std::string& s) { if (s == "PRESSUREGAUGE") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PRESSUREGAUGE; if (s == "THERMOMETER") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_THERMOMETER; if (s == "AMMETER") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_AMMETER; if (s == "FREQUENCYMETER") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_FREQUENCYMETER; if (s == "POWERFACTORMETER") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_POWERFACTORMETER; if (s == "PHASEANGLEMETER") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_PHASEANGLEMETER; if (s == "VOLTMETER_PEAK") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_PEAK; if (s == "VOLTMETER_RMS") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_VOLTMETER_RMS; if (s == "USERDEFINED") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFlowInstrumentTypeEnum::IfcFlowInstrumentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFlowInstrumentTypeEnum::operator Ifc4::IfcFlowInstrumentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::declaration() const { return *IFC4_IfcFlowMeterTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::Class() { return *IFC4_IfcFlowMeterTypeEnum_type; } Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFlowMeterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFlowMeterTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ENERGYMETER", "GASMETER", "OILMETER", "WATERMETER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterTypeEnum::FromString(const std::string& s) { if (s == "ENERGYMETER") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_ENERGYMETER; if (s == "GASMETER") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_GASMETER; if (s == "OILMETER") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_OILMETER; if (s == "WATERMETER") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_WATERMETER; if (s == "USERDEFINED") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFlowMeterTypeEnum::IfcFlowMeterType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFlowMeterTypeEnum::operator Ifc4::IfcFlowMeterTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFootingTypeEnum::declaration() const { return *IFC4_IfcFootingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFootingTypeEnum::Class() { return *IFC4_IfcFootingTypeEnum_type; } Ifc4::IfcFootingTypeEnum::IfcFootingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFootingTypeEnum::IfcFootingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFootingTypeEnum::IfcFootingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFootingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFootingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CAISSON_FOUNDATION", "FOOTING_BEAM", "PAD_FOOTING", "PILE_CAP", "STRIP_FOOTING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingTypeEnum::FromString(const std::string& s) { if (s == "CAISSON_FOUNDATION") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_CAISSON_FOUNDATION; if (s == "FOOTING_BEAM") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_FOOTING_BEAM; if (s == "PAD_FOOTING") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_PAD_FOOTING; if (s == "PILE_CAP") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_PILE_CAP; if (s == "STRIP_FOOTING") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_STRIP_FOOTING; if (s == "USERDEFINED") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFootingTypeEnum::IfcFootingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFootingTypeEnum::operator Ifc4::IfcFootingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcFurnitureTypeEnum::declaration() const { return *IFC4_IfcFurnitureTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcFurnitureTypeEnum::Class() { return *IFC4_IfcFurnitureTypeEnum_type; } Ifc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcFurnitureTypeEnum::IfcFurnitureTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcFurnitureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcFurnitureTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CHAIR", "TABLE", "DESK", "BED", "FILECABINET", "SHELF", "SOFA", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcFurnitureTypeEnum::Value Ifc4::IfcFurnitureTypeEnum::FromString(const std::string& s) { if (s == "CHAIR") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_CHAIR; if (s == "TABLE") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_TABLE; if (s == "DESK") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_DESK; if (s == "BED") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_BED; if (s == "FILECABINET") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_FILECABINET; if (s == "SHELF") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_SHELF; if (s == "SOFA") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_SOFA; if (s == "USERDEFINED") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcFurnitureTypeEnum::IfcFurnitureType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcFurnitureTypeEnum::operator Ifc4::IfcFurnitureTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::declaration() const { return *IFC4_IfcGeographicElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::Class() { return *IFC4_IfcGeographicElementTypeEnum_type; } Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcGeographicElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcGeographicElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "TERRAIN", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementTypeEnum::FromString(const std::string& s) { if (s == "TERRAIN") return ::Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementType_TERRAIN; if (s == "USERDEFINED") return ::Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcGeographicElementTypeEnum::IfcGeographicElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcGeographicElementTypeEnum::operator Ifc4::IfcGeographicElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcGeometricProjectionEnum::declaration() const { return *IFC4_IfcGeometricProjectionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcGeometricProjectionEnum::Class() { return *IFC4_IfcGeometricProjectionEnum_type; } Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjectionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcGeometricProjectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcGeometricProjectionEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "GRAPH_VIEW", "SKETCH_VIEW", "MODEL_VIEW", "PLAN_VIEW", "REFLECTED_PLAN_VIEW", "SECTION_VIEW", "ELEVATION_VIEW", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricProjectionEnum::FromString(const std::string& s) { if (s == "GRAPH_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_GRAPH_VIEW; if (s == "SKETCH_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_SKETCH_VIEW; if (s == "MODEL_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_MODEL_VIEW; if (s == "PLAN_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_PLAN_VIEW; if (s == "REFLECTED_PLAN_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_REFLECTED_PLAN_VIEW; if (s == "SECTION_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_SECTION_VIEW; if (s == "ELEVATION_VIEW") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_ELEVATION_VIEW; if (s == "USERDEFINED") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcGeometricProjectionEnum::IfcGeometricProjection_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcGeometricProjectionEnum::operator Ifc4::IfcGeometricProjectionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::declaration() const { return *IFC4_IfcGlobalOrLocalEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::Class() { return *IFC4_IfcGlobalOrLocalEnum_type; } Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcGlobalOrLocalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcGlobalOrLocalEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "GLOBAL_COORDS", "LOCAL_COORDS" }; return names[v]; } Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcGlobalOrLocalEnum::FromString(const std::string& s) { if (s == "GLOBAL_COORDS") return ::Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocal_GLOBAL_COORDS; if (s == "LOCAL_COORDS") return ::Ifc4::IfcGlobalOrLocalEnum::IfcGlobalOrLocal_LOCAL_COORDS; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcGlobalOrLocalEnum::operator Ifc4::IfcGlobalOrLocalEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcGridTypeEnum::declaration() const { return *IFC4_IfcGridTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcGridTypeEnum::Class() { return *IFC4_IfcGridTypeEnum_type; } Ifc4::IfcGridTypeEnum::IfcGridTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcGridTypeEnum::IfcGridTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcGridTypeEnum::IfcGridTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcGridTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcGridTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "RECTANGULAR", "RADIAL", "TRIANGULAR", "IRREGULAR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcGridTypeEnum::Value Ifc4::IfcGridTypeEnum::FromString(const std::string& s) { if (s == "RECTANGULAR") return ::Ifc4::IfcGridTypeEnum::IfcGridType_RECTANGULAR; if (s == "RADIAL") return ::Ifc4::IfcGridTypeEnum::IfcGridType_RADIAL; if (s == "TRIANGULAR") return ::Ifc4::IfcGridTypeEnum::IfcGridType_TRIANGULAR; if (s == "IRREGULAR") return ::Ifc4::IfcGridTypeEnum::IfcGridType_IRREGULAR; if (s == "USERDEFINED") return ::Ifc4::IfcGridTypeEnum::IfcGridType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcGridTypeEnum::IfcGridType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcGridTypeEnum::operator Ifc4::IfcGridTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::declaration() const { return *IFC4_IfcHeatExchangerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::Class() { return *IFC4_IfcHeatExchangerTypeEnum_type; } Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcHeatExchangerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcHeatExchangerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PLATE", "SHELLANDTUBE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerTypeEnum::FromString(const std::string& s) { if (s == "PLATE") return ::Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_PLATE; if (s == "SHELLANDTUBE") return ::Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_SHELLANDTUBE; if (s == "USERDEFINED") return ::Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcHeatExchangerTypeEnum::IfcHeatExchangerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcHeatExchangerTypeEnum::operator Ifc4::IfcHeatExchangerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcHumidifierTypeEnum::declaration() const { return *IFC4_IfcHumidifierTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcHumidifierTypeEnum::Class() { return *IFC4_IfcHumidifierTypeEnum_type; } Ifc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcHumidifierTypeEnum::IfcHumidifierTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcHumidifierTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcHumidifierTypeEnum::ToString(Value v) { if ( v < 0 || v >= 15 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STEAMINJECTION", "ADIABATICAIRWASHER", "ADIABATICPAN", "ADIABATICWETTEDELEMENT", "ADIABATICATOMIZING", "ADIABATICULTRASONIC", "ADIABATICRIGIDMEDIA", "ADIABATICCOMPRESSEDAIRNOZZLE", "ASSISTEDELECTRIC", "ASSISTEDNATURALGAS", "ASSISTEDPROPANE", "ASSISTEDBUTANE", "ASSISTEDSTEAM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierTypeEnum::FromString(const std::string& s) { if (s == "STEAMINJECTION") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_STEAMINJECTION; if (s == "ADIABATICAIRWASHER") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICAIRWASHER; if (s == "ADIABATICPAN") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICPAN; if (s == "ADIABATICWETTEDELEMENT") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICWETTEDELEMENT; if (s == "ADIABATICATOMIZING") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICATOMIZING; if (s == "ADIABATICULTRASONIC") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICULTRASONIC; if (s == "ADIABATICRIGIDMEDIA") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICRIGIDMEDIA; if (s == "ADIABATICCOMPRESSEDAIRNOZZLE") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE; if (s == "ASSISTEDELECTRIC") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDELECTRIC; if (s == "ASSISTEDNATURALGAS") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDNATURALGAS; if (s == "ASSISTEDPROPANE") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDPROPANE; if (s == "ASSISTEDBUTANE") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDBUTANE; if (s == "ASSISTEDSTEAM") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_ASSISTEDSTEAM; if (s == "USERDEFINED") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcHumidifierTypeEnum::IfcHumidifierType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcHumidifierTypeEnum::operator Ifc4::IfcHumidifierTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcInterceptorTypeEnum::declaration() const { return *IFC4_IfcInterceptorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcInterceptorTypeEnum::Class() { return *IFC4_IfcInterceptorTypeEnum_type; } Ifc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcInterceptorTypeEnum::IfcInterceptorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcInterceptorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcInterceptorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CYCLONIC", "GREASE", "OIL", "PETROL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorTypeEnum::FromString(const std::string& s) { if (s == "CYCLONIC") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_CYCLONIC; if (s == "GREASE") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_GREASE; if (s == "OIL") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_OIL; if (s == "PETROL") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_PETROL; if (s == "USERDEFINED") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcInterceptorTypeEnum::IfcInterceptorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcInterceptorTypeEnum::operator Ifc4::IfcInterceptorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcInternalOrExternalEnum::declaration() const { return *IFC4_IfcInternalOrExternalEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcInternalOrExternalEnum::Class() { return *IFC4_IfcInternalOrExternalEnum_type; } Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternalEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcInternalOrExternalEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcInternalOrExternalEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "INTERNAL", "EXTERNAL", "EXTERNAL_EARTH", "EXTERNAL_WATER", "EXTERNAL_FIRE", "NOTDEFINED" }; return names[v]; } Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcInternalOrExternalEnum::FromString(const std::string& s) { if (s == "INTERNAL") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_INTERNAL; if (s == "EXTERNAL") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL; if (s == "EXTERNAL_EARTH") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL_EARTH; if (s == "EXTERNAL_WATER") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL_WATER; if (s == "EXTERNAL_FIRE") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_EXTERNAL_FIRE; if (s == "NOTDEFINED") return ::Ifc4::IfcInternalOrExternalEnum::IfcInternalOrExternal_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcInternalOrExternalEnum::operator Ifc4::IfcInternalOrExternalEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcInventoryTypeEnum::declaration() const { return *IFC4_IfcInventoryTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcInventoryTypeEnum::Class() { return *IFC4_IfcInventoryTypeEnum_type; } Ifc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcInventoryTypeEnum::IfcInventoryTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcInventoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcInventoryTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ASSETINVENTORY", "SPACEINVENTORY", "FURNITUREINVENTORY", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcInventoryTypeEnum::Value Ifc4::IfcInventoryTypeEnum::FromString(const std::string& s) { if (s == "ASSETINVENTORY") return ::Ifc4::IfcInventoryTypeEnum::IfcInventoryType_ASSETINVENTORY; if (s == "SPACEINVENTORY") return ::Ifc4::IfcInventoryTypeEnum::IfcInventoryType_SPACEINVENTORY; if (s == "FURNITUREINVENTORY") return ::Ifc4::IfcInventoryTypeEnum::IfcInventoryType_FURNITUREINVENTORY; if (s == "USERDEFINED") return ::Ifc4::IfcInventoryTypeEnum::IfcInventoryType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcInventoryTypeEnum::IfcInventoryType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcInventoryTypeEnum::operator Ifc4::IfcInventoryTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::declaration() const { return *IFC4_IfcJunctionBoxTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::Class() { return *IFC4_IfcJunctionBoxTypeEnum_type; } Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcJunctionBoxTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcJunctionBoxTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DATA", "POWER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxTypeEnum::FromString(const std::string& s) { if (s == "DATA") return ::Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_DATA; if (s == "POWER") return ::Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_POWER; if (s == "USERDEFINED") return ::Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcJunctionBoxTypeEnum::IfcJunctionBoxType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcJunctionBoxTypeEnum::operator Ifc4::IfcJunctionBoxTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcKnotType::declaration() const { return *IFC4_IfcKnotType_type; } const IfcParse::enumeration_type& Ifc4::IfcKnotType::Class() { return *IFC4_IfcKnotType_type; } Ifc4::IfcKnotType::IfcKnotType(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcKnotType::IfcKnotType(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcKnotType::IfcKnotType(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcKnotType_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcKnotType::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "UNIFORM_KNOTS", "QUASI_UNIFORM_KNOTS", "PIECEWISE_BEZIER_KNOTS", "UNSPECIFIED" }; return names[v]; } Ifc4::IfcKnotType::Value Ifc4::IfcKnotType::FromString(const std::string& s) { if (s == "UNIFORM_KNOTS") return ::Ifc4::IfcKnotType::IfcKnotType_UNIFORM_KNOTS; if (s == "QUASI_UNIFORM_KNOTS") return ::Ifc4::IfcKnotType::IfcKnotType_QUASI_UNIFORM_KNOTS; if (s == "PIECEWISE_BEZIER_KNOTS") return ::Ifc4::IfcKnotType::IfcKnotType_PIECEWISE_BEZIER_KNOTS; if (s == "UNSPECIFIED") return ::Ifc4::IfcKnotType::IfcKnotType_UNSPECIFIED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcKnotType::operator Ifc4::IfcKnotType::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::declaration() const { return *IFC4_IfcLaborResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::Class() { return *IFC4_IfcLaborResourceTypeEnum_type; } Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLaborResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLaborResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 21 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ADMINISTRATION", "CARPENTRY", "CLEANING", "CONCRETE", "DRYWALL", "ELECTRIC", "FINISHING", "FLOORING", "GENERAL", "HVAC", "LANDSCAPING", "MASONRY", "PAINTING", "PAVING", "PLUMBING", "ROOFING", "SITEGRADING", "STEELWORK", "SURVEYING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceTypeEnum::FromString(const std::string& s) { if (s == "ADMINISTRATION") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_ADMINISTRATION; if (s == "CARPENTRY") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_CARPENTRY; if (s == "CLEANING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_CLEANING; if (s == "CONCRETE") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_CONCRETE; if (s == "DRYWALL") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_DRYWALL; if (s == "ELECTRIC") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_ELECTRIC; if (s == "FINISHING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_FINISHING; if (s == "FLOORING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_FLOORING; if (s == "GENERAL") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_GENERAL; if (s == "HVAC") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_HVAC; if (s == "LANDSCAPING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_LANDSCAPING; if (s == "MASONRY") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_MASONRY; if (s == "PAINTING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_PAINTING; if (s == "PAVING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_PAVING; if (s == "PLUMBING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_PLUMBING; if (s == "ROOFING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_ROOFING; if (s == "SITEGRADING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_SITEGRADING; if (s == "STEELWORK") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_STEELWORK; if (s == "SURVEYING") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_SURVEYING; if (s == "USERDEFINED") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcLaborResourceTypeEnum::IfcLaborResourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLaborResourceTypeEnum::operator Ifc4::IfcLaborResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLampTypeEnum::declaration() const { return *IFC4_IfcLampTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLampTypeEnum::Class() { return *IFC4_IfcLampTypeEnum_type; } Ifc4::IfcLampTypeEnum::IfcLampTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLampTypeEnum::IfcLampTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLampTypeEnum::IfcLampTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLampTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COMPACTFLUORESCENT", "FLUORESCENT", "HALOGEN", "HIGHPRESSUREMERCURY", "HIGHPRESSURESODIUM", "LED", "METALHALIDE", "OLED", "TUNGSTENFILAMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampTypeEnum::FromString(const std::string& s) { if (s == "COMPACTFLUORESCENT") return ::Ifc4::IfcLampTypeEnum::IfcLampType_COMPACTFLUORESCENT; if (s == "FLUORESCENT") return ::Ifc4::IfcLampTypeEnum::IfcLampType_FLUORESCENT; if (s == "HALOGEN") return ::Ifc4::IfcLampTypeEnum::IfcLampType_HALOGEN; if (s == "HIGHPRESSUREMERCURY") return ::Ifc4::IfcLampTypeEnum::IfcLampType_HIGHPRESSUREMERCURY; if (s == "HIGHPRESSURESODIUM") return ::Ifc4::IfcLampTypeEnum::IfcLampType_HIGHPRESSURESODIUM; if (s == "LED") return ::Ifc4::IfcLampTypeEnum::IfcLampType_LED; if (s == "METALHALIDE") return ::Ifc4::IfcLampTypeEnum::IfcLampType_METALHALIDE; if (s == "OLED") return ::Ifc4::IfcLampTypeEnum::IfcLampType_OLED; if (s == "TUNGSTENFILAMENT") return ::Ifc4::IfcLampTypeEnum::IfcLampType_TUNGSTENFILAMENT; if (s == "USERDEFINED") return ::Ifc4::IfcLampTypeEnum::IfcLampType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcLampTypeEnum::IfcLampType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLampTypeEnum::operator Ifc4::IfcLampTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::declaration() const { return *IFC4_IfcLayerSetDirectionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::Class() { return *IFC4_IfcLayerSetDirectionEnum_type; } Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLayerSetDirectionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLayerSetDirectionEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AXIS1", "AXIS2", "AXIS3" }; return names[v]; } Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcLayerSetDirectionEnum::FromString(const std::string& s) { if (s == "AXIS1") return ::Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS1; if (s == "AXIS2") return ::Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS2; if (s == "AXIS3") return ::Ifc4::IfcLayerSetDirectionEnum::IfcLayerSetDirection_AXIS3; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLayerSetDirectionEnum::operator Ifc4::IfcLayerSetDirectionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::declaration() const { return *IFC4_IfcLightDistributionCurveEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::Class() { return *IFC4_IfcLightDistributionCurveEnum_type; } Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightDistributionCurveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLightDistributionCurveEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "TYPE_A", "TYPE_B", "TYPE_C", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightDistributionCurveEnum::FromString(const std::string& s) { if (s == "TYPE_A") return ::Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_A; if (s == "TYPE_B") return ::Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_B; if (s == "TYPE_C") return ::Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_TYPE_C; if (s == "NOTDEFINED") return ::Ifc4::IfcLightDistributionCurveEnum::IfcLightDistributionCurve_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLightDistributionCurveEnum::operator Ifc4::IfcLightDistributionCurveEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::declaration() const { return *IFC4_IfcLightEmissionSourceEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::Class() { return *IFC4_IfcLightEmissionSourceEnum_type; } Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightEmissionSourceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLightEmissionSourceEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COMPACTFLUORESCENT", "FLUORESCENT", "HIGHPRESSUREMERCURY", "HIGHPRESSURESODIUM", "LIGHTEMITTINGDIODE", "LOWPRESSURESODIUM", "LOWVOLTAGEHALOGEN", "MAINVOLTAGEHALOGEN", "METALHALIDE", "TUNGSTENFILAMENT", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightEmissionSourceEnum::FromString(const std::string& s) { if (s == "COMPACTFLUORESCENT") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_COMPACTFLUORESCENT; if (s == "FLUORESCENT") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_FLUORESCENT; if (s == "HIGHPRESSUREMERCURY") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSUREMERCURY; if (s == "HIGHPRESSURESODIUM") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_HIGHPRESSURESODIUM; if (s == "LIGHTEMITTINGDIODE") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LIGHTEMITTINGDIODE; if (s == "LOWPRESSURESODIUM") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWPRESSURESODIUM; if (s == "LOWVOLTAGEHALOGEN") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_LOWVOLTAGEHALOGEN; if (s == "MAINVOLTAGEHALOGEN") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_MAINVOLTAGEHALOGEN; if (s == "METALHALIDE") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_METALHALIDE; if (s == "TUNGSTENFILAMENT") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_TUNGSTENFILAMENT; if (s == "NOTDEFINED") return ::Ifc4::IfcLightEmissionSourceEnum::IfcLightEmissionSource_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLightEmissionSourceEnum::operator Ifc4::IfcLightEmissionSourceEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::declaration() const { return *IFC4_IfcLightFixtureTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::Class() { return *IFC4_IfcLightFixtureTypeEnum_type; } Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLightFixtureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLightFixtureTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "POINTSOURCE", "DIRECTIONSOURCE", "SECURITYLIGHTING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureTypeEnum::FromString(const std::string& s) { if (s == "POINTSOURCE") return ::Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureType_POINTSOURCE; if (s == "DIRECTIONSOURCE") return ::Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureType_DIRECTIONSOURCE; if (s == "SECURITYLIGHTING") return ::Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureType_SECURITYLIGHTING; if (s == "USERDEFINED") return ::Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcLightFixtureTypeEnum::IfcLightFixtureType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLightFixtureTypeEnum::operator Ifc4::IfcLightFixtureTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::declaration() const { return *IFC4_IfcLoadGroupTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::Class() { return *IFC4_IfcLoadGroupTypeEnum_type; } Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLoadGroupTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLoadGroupTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LOAD_GROUP", "LOAD_CASE", "LOAD_COMBINATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcLoadGroupTypeEnum::FromString(const std::string& s) { if (s == "LOAD_GROUP") return ::Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_GROUP; if (s == "LOAD_CASE") return ::Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_CASE; if (s == "LOAD_COMBINATION") return ::Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupType_LOAD_COMBINATION; if (s == "USERDEFINED") return ::Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcLoadGroupTypeEnum::IfcLoadGroupType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLoadGroupTypeEnum::operator Ifc4::IfcLoadGroupTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcLogicalOperatorEnum::declaration() const { return *IFC4_IfcLogicalOperatorEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcLogicalOperatorEnum::Class() { return *IFC4_IfcLogicalOperatorEnum_type; } Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperatorEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcLogicalOperatorEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcLogicalOperatorEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LOGICALAND", "LOGICALOR", "LOGICALXOR", "LOGICALNOTAND", "LOGICALNOTOR" }; return names[v]; } Ifc4::IfcLogicalOperatorEnum::Value Ifc4::IfcLogicalOperatorEnum::FromString(const std::string& s) { if (s == "LOGICALAND") return ::Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALAND; if (s == "LOGICALOR") return ::Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALOR; if (s == "LOGICALXOR") return ::Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALXOR; if (s == "LOGICALNOTAND") return ::Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALNOTAND; if (s == "LOGICALNOTOR") return ::Ifc4::IfcLogicalOperatorEnum::IfcLogicalOperator_LOGICALNOTOR; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcLogicalOperatorEnum::operator Ifc4::IfcLogicalOperatorEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::declaration() const { return *IFC4_IfcMechanicalFastenerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::Class() { return *IFC4_IfcMechanicalFastenerTypeEnum_type; } Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcMechanicalFastenerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcMechanicalFastenerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 12 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ANCHORBOLT", "BOLT", "DOWEL", "NAIL", "NAILPLATE", "RIVET", "SCREW", "SHEARCONNECTOR", "STAPLE", "STUDSHEARCONNECTOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerTypeEnum::FromString(const std::string& s) { if (s == "ANCHORBOLT") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_ANCHORBOLT; if (s == "BOLT") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_BOLT; if (s == "DOWEL") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_DOWEL; if (s == "NAIL") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_NAIL; if (s == "NAILPLATE") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_NAILPLATE; if (s == "RIVET") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_RIVET; if (s == "SCREW") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_SCREW; if (s == "SHEARCONNECTOR") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_SHEARCONNECTOR; if (s == "STAPLE") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_STAPLE; if (s == "STUDSHEARCONNECTOR") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_STUDSHEARCONNECTOR; if (s == "USERDEFINED") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcMechanicalFastenerTypeEnum::operator Ifc4::IfcMechanicalFastenerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::declaration() const { return *IFC4_IfcMedicalDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::Class() { return *IFC4_IfcMedicalDeviceTypeEnum_type; } Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcMedicalDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcMedicalDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRSTATION", "FEEDAIRUNIT", "OXYGENGENERATOR", "OXYGENPLANT", "VACUUMSTATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceTypeEnum::FromString(const std::string& s) { if (s == "AIRSTATION") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_AIRSTATION; if (s == "FEEDAIRUNIT") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_FEEDAIRUNIT; if (s == "OXYGENGENERATOR") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_OXYGENGENERATOR; if (s == "OXYGENPLANT") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_OXYGENPLANT; if (s == "VACUUMSTATION") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_VACUUMSTATION; if (s == "USERDEFINED") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcMedicalDeviceTypeEnum::IfcMedicalDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcMedicalDeviceTypeEnum::operator Ifc4::IfcMedicalDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcMemberTypeEnum::declaration() const { return *IFC4_IfcMemberTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcMemberTypeEnum::Class() { return *IFC4_IfcMemberTypeEnum_type; } Ifc4::IfcMemberTypeEnum::IfcMemberTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMemberTypeEnum::IfcMemberTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcMemberTypeEnum::IfcMemberTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcMemberTypeEnum::ToString(Value v) { if ( v < 0 || v >= 14 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BRACE", "CHORD", "COLLAR", "MEMBER", "MULLION", "PLATE", "POST", "PURLIN", "RAFTER", "STRINGER", "STRUT", "STUD", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberTypeEnum::FromString(const std::string& s) { if (s == "BRACE") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_BRACE; if (s == "CHORD") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_CHORD; if (s == "COLLAR") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_COLLAR; if (s == "MEMBER") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_MEMBER; if (s == "MULLION") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_MULLION; if (s == "PLATE") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_PLATE; if (s == "POST") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_POST; if (s == "PURLIN") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_PURLIN; if (s == "RAFTER") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_RAFTER; if (s == "STRINGER") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_STRINGER; if (s == "STRUT") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_STRUT; if (s == "STUD") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_STUD; if (s == "USERDEFINED") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcMemberTypeEnum::IfcMemberType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcMemberTypeEnum::operator Ifc4::IfcMemberTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::declaration() const { return *IFC4_IfcMotorConnectionTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::Class() { return *IFC4_IfcMotorConnectionTypeEnum_type; } Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcMotorConnectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcMotorConnectionTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BELTDRIVE", "COUPLING", "DIRECTDRIVE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionTypeEnum::FromString(const std::string& s) { if (s == "BELTDRIVE") return ::Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_BELTDRIVE; if (s == "COUPLING") return ::Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_COUPLING; if (s == "DIRECTDRIVE") return ::Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_DIRECTDRIVE; if (s == "USERDEFINED") return ::Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcMotorConnectionTypeEnum::IfcMotorConnectionType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcMotorConnectionTypeEnum::operator Ifc4::IfcMotorConnectionTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcNullStyle::declaration() const { return *IFC4_IfcNullStyle_type; } const IfcParse::enumeration_type& Ifc4::IfcNullStyle::Class() { return *IFC4_IfcNullStyle_type; } Ifc4::IfcNullStyle::IfcNullStyle(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcNullStyle::IfcNullStyle(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcNullStyle_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcNullStyle::IfcNullStyle(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcNullStyle_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcNullStyle::ToString(Value v) { if ( v < 0 || v >= 1 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "NULL" }; return names[v]; } Ifc4::IfcNullStyle::Value Ifc4::IfcNullStyle::FromString(const std::string& s) { if (s == "NULL") return ::Ifc4::IfcNullStyle::IfcNullStyle_NULL; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcNullStyle::operator Ifc4::IfcNullStyle::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcObjectTypeEnum::declaration() const { return *IFC4_IfcObjectTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcObjectTypeEnum::Class() { return *IFC4_IfcObjectTypeEnum_type; } Ifc4::IfcObjectTypeEnum::IfcObjectTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcObjectTypeEnum::IfcObjectTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcObjectTypeEnum::IfcObjectTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcObjectTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcObjectTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PRODUCT", "PROCESS", "CONTROL", "RESOURCE", "ACTOR", "GROUP", "PROJECT", "NOTDEFINED" }; return names[v]; } Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcObjectTypeEnum::FromString(const std::string& s) { if (s == "PRODUCT") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_PRODUCT; if (s == "PROCESS") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_PROCESS; if (s == "CONTROL") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_CONTROL; if (s == "RESOURCE") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_RESOURCE; if (s == "ACTOR") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_ACTOR; if (s == "GROUP") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_GROUP; if (s == "PROJECT") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_PROJECT; if (s == "NOTDEFINED") return ::Ifc4::IfcObjectTypeEnum::IfcObjectType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcObjectTypeEnum::operator Ifc4::IfcObjectTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcObjectiveEnum::declaration() const { return *IFC4_IfcObjectiveEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcObjectiveEnum::Class() { return *IFC4_IfcObjectiveEnum_type; } Ifc4::IfcObjectiveEnum::IfcObjectiveEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcObjectiveEnum::IfcObjectiveEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcObjectiveEnum::IfcObjectiveEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcObjectiveEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcObjectiveEnum::ToString(Value v) { if ( v < 0 || v >= 13 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CODECOMPLIANCE", "CODEWAIVER", "DESIGNINTENT", "EXTERNAL", "HEALTHANDSAFETY", "MERGECONFLICT", "MODELVIEW", "PARAMETER", "REQUIREMENT", "SPECIFICATION", "TRIGGERCONDITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjectiveEnum::FromString(const std::string& s) { if (s == "CODECOMPLIANCE") return ::Ifc4::IfcObjectiveEnum::IfcObjective_CODECOMPLIANCE; if (s == "CODEWAIVER") return ::Ifc4::IfcObjectiveEnum::IfcObjective_CODEWAIVER; if (s == "DESIGNINTENT") return ::Ifc4::IfcObjectiveEnum::IfcObjective_DESIGNINTENT; if (s == "EXTERNAL") return ::Ifc4::IfcObjectiveEnum::IfcObjective_EXTERNAL; if (s == "HEALTHANDSAFETY") return ::Ifc4::IfcObjectiveEnum::IfcObjective_HEALTHANDSAFETY; if (s == "MERGECONFLICT") return ::Ifc4::IfcObjectiveEnum::IfcObjective_MERGECONFLICT; if (s == "MODELVIEW") return ::Ifc4::IfcObjectiveEnum::IfcObjective_MODELVIEW; if (s == "PARAMETER") return ::Ifc4::IfcObjectiveEnum::IfcObjective_PARAMETER; if (s == "REQUIREMENT") return ::Ifc4::IfcObjectiveEnum::IfcObjective_REQUIREMENT; if (s == "SPECIFICATION") return ::Ifc4::IfcObjectiveEnum::IfcObjective_SPECIFICATION; if (s == "TRIGGERCONDITION") return ::Ifc4::IfcObjectiveEnum::IfcObjective_TRIGGERCONDITION; if (s == "USERDEFINED") return ::Ifc4::IfcObjectiveEnum::IfcObjective_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcObjectiveEnum::IfcObjective_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcObjectiveEnum::operator Ifc4::IfcObjectiveEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcOccupantTypeEnum::declaration() const { return *IFC4_IfcOccupantTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcOccupantTypeEnum::Class() { return *IFC4_IfcOccupantTypeEnum_type; } Ifc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcOccupantTypeEnum::IfcOccupantTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcOccupantTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcOccupantTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ASSIGNEE", "ASSIGNOR", "LESSEE", "LESSOR", "LETTINGAGENT", "OWNER", "TENANT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcOccupantTypeEnum::Value Ifc4::IfcOccupantTypeEnum::FromString(const std::string& s) { if (s == "ASSIGNEE") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_ASSIGNEE; if (s == "ASSIGNOR") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_ASSIGNOR; if (s == "LESSEE") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_LESSEE; if (s == "LESSOR") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_LESSOR; if (s == "LETTINGAGENT") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_LETTINGAGENT; if (s == "OWNER") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_OWNER; if (s == "TENANT") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_TENANT; if (s == "USERDEFINED") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcOccupantTypeEnum::IfcOccupantType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcOccupantTypeEnum::operator Ifc4::IfcOccupantTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::declaration() const { return *IFC4_IfcOpeningElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::Class() { return *IFC4_IfcOpeningElementTypeEnum_type; } Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcOpeningElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcOpeningElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "OPENING", "RECESS", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcOpeningElementTypeEnum::Value Ifc4::IfcOpeningElementTypeEnum::FromString(const std::string& s) { if (s == "OPENING") return ::Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementType_OPENING; if (s == "RECESS") return ::Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementType_RECESS; if (s == "USERDEFINED") return ::Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcOpeningElementTypeEnum::IfcOpeningElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcOpeningElementTypeEnum::operator Ifc4::IfcOpeningElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcOutletTypeEnum::declaration() const { return *IFC4_IfcOutletTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcOutletTypeEnum::Class() { return *IFC4_IfcOutletTypeEnum_type; } Ifc4::IfcOutletTypeEnum::IfcOutletTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcOutletTypeEnum::IfcOutletTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcOutletTypeEnum::IfcOutletTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcOutletTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcOutletTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AUDIOVISUALOUTLET", "COMMUNICATIONSOUTLET", "POWEROUTLET", "DATAOUTLET", "TELEPHONEOUTLET", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletTypeEnum::FromString(const std::string& s) { if (s == "AUDIOVISUALOUTLET") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_AUDIOVISUALOUTLET; if (s == "COMMUNICATIONSOUTLET") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_COMMUNICATIONSOUTLET; if (s == "POWEROUTLET") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_POWEROUTLET; if (s == "DATAOUTLET") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_DATAOUTLET; if (s == "TELEPHONEOUTLET") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_TELEPHONEOUTLET; if (s == "USERDEFINED") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcOutletTypeEnum::IfcOutletType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcOutletTypeEnum::operator Ifc4::IfcOutletTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::declaration() const { return *IFC4_IfcPerformanceHistoryTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::Class() { return *IFC4_IfcPerformanceHistoryTypeEnum_type; } Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPerformanceHistoryTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPerformanceHistoryTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPerformanceHistoryTypeEnum::Value Ifc4::IfcPerformanceHistoryTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPerformanceHistoryTypeEnum::operator Ifc4::IfcPerformanceHistoryTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::declaration() const { return *IFC4_IfcPermeableCoveringOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::Class() { return *IFC4_IfcPermeableCoveringOperationEnum_type; } Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPermeableCoveringOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPermeableCoveringOperationEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "GRILL", "LOUVER", "SCREEN", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringOperationEnum::FromString(const std::string& s) { if (s == "GRILL") return ::Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_GRILL; if (s == "LOUVER") return ::Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_LOUVER; if (s == "SCREEN") return ::Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_SCREEN; if (s == "USERDEFINED") return ::Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPermeableCoveringOperationEnum::operator Ifc4::IfcPermeableCoveringOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPermitTypeEnum::declaration() const { return *IFC4_IfcPermitTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPermitTypeEnum::Class() { return *IFC4_IfcPermitTypeEnum_type; } Ifc4::IfcPermitTypeEnum::IfcPermitTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPermitTypeEnum::IfcPermitTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPermitTypeEnum::IfcPermitTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPermitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPermitTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ACCESS", "BUILDING", "WORK", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPermitTypeEnum::Value Ifc4::IfcPermitTypeEnum::FromString(const std::string& s) { if (s == "ACCESS") return ::Ifc4::IfcPermitTypeEnum::IfcPermitType_ACCESS; if (s == "BUILDING") return ::Ifc4::IfcPermitTypeEnum::IfcPermitType_BUILDING; if (s == "WORK") return ::Ifc4::IfcPermitTypeEnum::IfcPermitType_WORK; if (s == "USERDEFINED") return ::Ifc4::IfcPermitTypeEnum::IfcPermitType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPermitTypeEnum::IfcPermitType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPermitTypeEnum::operator Ifc4::IfcPermitTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::declaration() const { return *IFC4_IfcPhysicalOrVirtualEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::Class() { return *IFC4_IfcPhysicalOrVirtualEnum_type; } Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalOrVirtualEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPhysicalOrVirtualEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PHYSICAL", "VIRTUAL", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcPhysicalOrVirtualEnum::FromString(const std::string& s) { if (s == "PHYSICAL") return ::Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_PHYSICAL; if (s == "VIRTUAL") return ::Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_VIRTUAL; if (s == "NOTDEFINED") return ::Ifc4::IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtual_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPhysicalOrVirtualEnum::operator Ifc4::IfcPhysicalOrVirtualEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPileConstructionEnum::declaration() const { return *IFC4_IfcPileConstructionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPileConstructionEnum::Class() { return *IFC4_IfcPileConstructionEnum_type; } Ifc4::IfcPileConstructionEnum::IfcPileConstructionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPileConstructionEnum::IfcPileConstructionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPileConstructionEnum::IfcPileConstructionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPileConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPileConstructionEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CAST_IN_PLACE", "COMPOSITE", "PRECAST_CONCRETE", "PREFAB_STEEL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPileConstructionEnum::Value Ifc4::IfcPileConstructionEnum::FromString(const std::string& s) { if (s == "CAST_IN_PLACE") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_CAST_IN_PLACE; if (s == "COMPOSITE") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_COMPOSITE; if (s == "PRECAST_CONCRETE") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_PRECAST_CONCRETE; if (s == "PREFAB_STEEL") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_PREFAB_STEEL; if (s == "USERDEFINED") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPileConstructionEnum::IfcPileConstruction_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPileConstructionEnum::operator Ifc4::IfcPileConstructionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPileTypeEnum::declaration() const { return *IFC4_IfcPileTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPileTypeEnum::Class() { return *IFC4_IfcPileTypeEnum_type; } Ifc4::IfcPileTypeEnum::IfcPileTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPileTypeEnum::IfcPileTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPileTypeEnum::IfcPileTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPileTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BORED", "DRIVEN", "JETGROUTING", "COHESION", "FRICTION", "SUPPORT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileTypeEnum::FromString(const std::string& s) { if (s == "BORED") return ::Ifc4::IfcPileTypeEnum::IfcPileType_BORED; if (s == "DRIVEN") return ::Ifc4::IfcPileTypeEnum::IfcPileType_DRIVEN; if (s == "JETGROUTING") return ::Ifc4::IfcPileTypeEnum::IfcPileType_JETGROUTING; if (s == "COHESION") return ::Ifc4::IfcPileTypeEnum::IfcPileType_COHESION; if (s == "FRICTION") return ::Ifc4::IfcPileTypeEnum::IfcPileType_FRICTION; if (s == "SUPPORT") return ::Ifc4::IfcPileTypeEnum::IfcPileType_SUPPORT; if (s == "USERDEFINED") return ::Ifc4::IfcPileTypeEnum::IfcPileType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPileTypeEnum::IfcPileType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPileTypeEnum::operator Ifc4::IfcPileTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::declaration() const { return *IFC4_IfcPipeFittingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::Class() { return *IFC4_IfcPipeFittingTypeEnum_type; } Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPipeFittingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPipeFittingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BEND", "CONNECTOR", "ENTRY", "EXIT", "JUNCTION", "OBSTRUCTION", "TRANSITION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingTypeEnum::FromString(const std::string& s) { if (s == "BEND") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_BEND; if (s == "CONNECTOR") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_CONNECTOR; if (s == "ENTRY") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_ENTRY; if (s == "EXIT") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_EXIT; if (s == "JUNCTION") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_JUNCTION; if (s == "OBSTRUCTION") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_OBSTRUCTION; if (s == "TRANSITION") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_TRANSITION; if (s == "USERDEFINED") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPipeFittingTypeEnum::IfcPipeFittingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPipeFittingTypeEnum::operator Ifc4::IfcPipeFittingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::declaration() const { return *IFC4_IfcPipeSegmentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::Class() { return *IFC4_IfcPipeSegmentTypeEnum_type; } Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPipeSegmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPipeSegmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CULVERT", "FLEXIBLESEGMENT", "RIGIDSEGMENT", "GUTTER", "SPOOL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentTypeEnum::FromString(const std::string& s) { if (s == "CULVERT") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_CULVERT; if (s == "FLEXIBLESEGMENT") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_FLEXIBLESEGMENT; if (s == "RIGIDSEGMENT") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_RIGIDSEGMENT; if (s == "GUTTER") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_GUTTER; if (s == "SPOOL") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_SPOOL; if (s == "USERDEFINED") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPipeSegmentTypeEnum::IfcPipeSegmentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPipeSegmentTypeEnum::operator Ifc4::IfcPipeSegmentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPlateTypeEnum::declaration() const { return *IFC4_IfcPlateTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPlateTypeEnum::Class() { return *IFC4_IfcPlateTypeEnum_type; } Ifc4::IfcPlateTypeEnum::IfcPlateTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPlateTypeEnum::IfcPlateTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPlateTypeEnum::IfcPlateTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPlateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPlateTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CURTAIN_PANEL", "SHEET", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateTypeEnum::FromString(const std::string& s) { if (s == "CURTAIN_PANEL") return ::Ifc4::IfcPlateTypeEnum::IfcPlateType_CURTAIN_PANEL; if (s == "SHEET") return ::Ifc4::IfcPlateTypeEnum::IfcPlateType_SHEET; if (s == "USERDEFINED") return ::Ifc4::IfcPlateTypeEnum::IfcPlateType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPlateTypeEnum::IfcPlateType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPlateTypeEnum::operator Ifc4::IfcPlateTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *IFC4_IfcPreferredSurfaceCurveRepresentation_type; } const IfcParse::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentation::Class() { return *IFC4_IfcPreferredSurfaceCurveRepresentation_type; } Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPreferredSurfaceCurveRepresentation_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CURVE3D", "PCURVE_S1", "PCURVE_S2" }; return names[v]; } Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcPreferredSurfaceCurveRepresentation::FromString(const std::string& s) { if (s == "CURVE3D") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_CURVE3D; if (s == "PCURVE_S1") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_PCURVE_S1; if (s == "PCURVE_S2") return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::IfcPreferredSurfaceCurveRepresentation_PCURVE_S2; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPreferredSurfaceCurveRepresentation::operator Ifc4::IfcPreferredSurfaceCurveRepresentation::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProcedureTypeEnum::declaration() const { return *IFC4_IfcProcedureTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProcedureTypeEnum::Class() { return *IFC4_IfcProcedureTypeEnum_type; } Ifc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProcedureTypeEnum::IfcProcedureTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProcedureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProcedureTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ADVICE_CAUTION", "ADVICE_NOTE", "ADVICE_WARNING", "CALIBRATION", "DIAGNOSTIC", "SHUTDOWN", "STARTUP", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureTypeEnum::FromString(const std::string& s) { if (s == "ADVICE_CAUTION") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_CAUTION; if (s == "ADVICE_NOTE") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_NOTE; if (s == "ADVICE_WARNING") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_ADVICE_WARNING; if (s == "CALIBRATION") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_CALIBRATION; if (s == "DIAGNOSTIC") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_DIAGNOSTIC; if (s == "SHUTDOWN") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_SHUTDOWN; if (s == "STARTUP") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_STARTUP; if (s == "USERDEFINED") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcProcedureTypeEnum::IfcProcedureType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProcedureTypeEnum::operator Ifc4::IfcProcedureTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProfileTypeEnum::declaration() const { return *IFC4_IfcProfileTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProfileTypeEnum::Class() { return *IFC4_IfcProfileTypeEnum_type; } Ifc4::IfcProfileTypeEnum::IfcProfileTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProfileTypeEnum::IfcProfileTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProfileTypeEnum::IfcProfileTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProfileTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProfileTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CURVE", "AREA" }; return names[v]; } Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileTypeEnum::FromString(const std::string& s) { if (s == "CURVE") return ::Ifc4::IfcProfileTypeEnum::IfcProfileType_CURVE; if (s == "AREA") return ::Ifc4::IfcProfileTypeEnum::IfcProfileType_AREA; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProfileTypeEnum::operator Ifc4::IfcProfileTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::declaration() const { return *IFC4_IfcProjectOrderTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::Class() { return *IFC4_IfcProjectOrderTypeEnum_type; } Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectOrderTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProjectOrderTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CHANGEORDER", "MAINTENANCEWORKORDER", "MOVEORDER", "PURCHASEORDER", "WORKORDER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcProjectOrderTypeEnum::Value Ifc4::IfcProjectOrderTypeEnum::FromString(const std::string& s) { if (s == "CHANGEORDER") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_CHANGEORDER; if (s == "MAINTENANCEWORKORDER") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_MAINTENANCEWORKORDER; if (s == "MOVEORDER") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_MOVEORDER; if (s == "PURCHASEORDER") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_PURCHASEORDER; if (s == "WORKORDER") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_WORKORDER; if (s == "USERDEFINED") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcProjectOrderTypeEnum::IfcProjectOrderType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProjectOrderTypeEnum::operator Ifc4::IfcProjectOrderTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::declaration() const { return *IFC4_IfcProjectedOrTrueLengthEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::Class() { return *IFC4_IfcProjectedOrTrueLengthEnum_type; } Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectedOrTrueLengthEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProjectedOrTrueLengthEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PROJECTED_LENGTH", "TRUE_LENGTH" }; return names[v]; } Ifc4::IfcProjectedOrTrueLengthEnum::Value Ifc4::IfcProjectedOrTrueLengthEnum::FromString(const std::string& s) { if (s == "PROJECTED_LENGTH") return ::Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_PROJECTED_LENGTH; if (s == "TRUE_LENGTH") return ::Ifc4::IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLength_TRUE_LENGTH; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProjectedOrTrueLengthEnum::operator Ifc4::IfcProjectedOrTrueLengthEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::declaration() const { return *IFC4_IfcProjectionElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::Class() { return *IFC4_IfcProjectionElementTypeEnum_type; } Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProjectionElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProjectionElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcProjectionElementTypeEnum::Value Ifc4::IfcProjectionElementTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcProjectionElementTypeEnum::IfcProjectionElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProjectionElementTypeEnum::operator Ifc4::IfcProjectionElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::declaration() const { return *IFC4_IfcPropertySetTemplateTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::Class() { return *IFC4_IfcPropertySetTemplateTypeEnum_type; } Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPropertySetTemplateTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PSET_TYPEDRIVENONLY", "PSET_TYPEDRIVENOVERRIDE", "PSET_OCCURRENCEDRIVEN", "PSET_PERFORMANCEDRIVEN", "QTO_TYPEDRIVENONLY", "QTO_TYPEDRIVENOVERRIDE", "QTO_OCCURRENCEDRIVEN", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPropertySetTemplateTypeEnum::Value Ifc4::IfcPropertySetTemplateTypeEnum::FromString(const std::string& s) { if (s == "PSET_TYPEDRIVENONLY") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY; if (s == "PSET_TYPEDRIVENOVERRIDE") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE; if (s == "PSET_OCCURRENCEDRIVEN") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN; if (s == "PSET_PERFORMANCEDRIVEN") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN; if (s == "QTO_TYPEDRIVENONLY") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY; if (s == "QTO_TYPEDRIVENOVERRIDE") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE; if (s == "QTO_OCCURRENCEDRIVEN") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN; if (s == "NOTDEFINED") return ::Ifc4::IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPropertySetTemplateTypeEnum::operator Ifc4::IfcPropertySetTemplateTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class() { return *IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type; } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ELECTRONIC", "ELECTROMAGNETIC", "RESIDUALCURRENT", "THERMAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(const std::string& s) { if (s == "ELECTRONIC") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_ELECTRONIC; if (s == "ELECTROMAGNETIC") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC; if (s == "RESIDUALCURRENT") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT; if (s == "THERMAL") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_THERMAL; if (s == "USERDEFINED") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::declaration() const { return *IFC4_IfcProtectiveDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::Class() { return *IFC4_IfcProtectiveDeviceTypeEnum_type; } Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcProtectiveDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CIRCUITBREAKER", "EARTHLEAKAGECIRCUITBREAKER", "EARTHINGSWITCH", "FUSEDISCONNECTOR", "RESIDUALCURRENTCIRCUITBREAKER", "RESIDUALCURRENTSWITCH", "VARISTOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceTypeEnum::FromString(const std::string& s) { if (s == "CIRCUITBREAKER") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_CIRCUITBREAKER; if (s == "EARTHLEAKAGECIRCUITBREAKER") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER; if (s == "EARTHINGSWITCH") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_EARTHINGSWITCH; if (s == "FUSEDISCONNECTOR") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_FUSEDISCONNECTOR; if (s == "RESIDUALCURRENTCIRCUITBREAKER") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER; if (s == "RESIDUALCURRENTSWITCH") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH; if (s == "VARISTOR") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_VARISTOR; if (s == "USERDEFINED") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcProtectiveDeviceTypeEnum::operator Ifc4::IfcProtectiveDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcPumpTypeEnum::declaration() const { return *IFC4_IfcPumpTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcPumpTypeEnum::Class() { return *IFC4_IfcPumpTypeEnum_type; } Ifc4::IfcPumpTypeEnum::IfcPumpTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPumpTypeEnum::IfcPumpTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcPumpTypeEnum::IfcPumpTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcPumpTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcPumpTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CIRCULATOR", "ENDSUCTION", "SPLITCASE", "SUBMERSIBLEPUMP", "SUMPPUMP", "VERTICALINLINE", "VERTICALTURBINE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpTypeEnum::FromString(const std::string& s) { if (s == "CIRCULATOR") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_CIRCULATOR; if (s == "ENDSUCTION") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_ENDSUCTION; if (s == "SPLITCASE") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_SPLITCASE; if (s == "SUBMERSIBLEPUMP") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_SUBMERSIBLEPUMP; if (s == "SUMPPUMP") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_SUMPPUMP; if (s == "VERTICALINLINE") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_VERTICALINLINE; if (s == "VERTICALTURBINE") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_VERTICALTURBINE; if (s == "USERDEFINED") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcPumpTypeEnum::IfcPumpType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcPumpTypeEnum::operator Ifc4::IfcPumpTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRailingTypeEnum::declaration() const { return *IFC4_IfcRailingTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRailingTypeEnum::Class() { return *IFC4_IfcRailingTypeEnum_type; } Ifc4::IfcRailingTypeEnum::IfcRailingTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRailingTypeEnum::IfcRailingTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRailingTypeEnum::IfcRailingTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRailingTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRailingTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "HANDRAIL", "GUARDRAIL", "BALUSTRADE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingTypeEnum::FromString(const std::string& s) { if (s == "HANDRAIL") return ::Ifc4::IfcRailingTypeEnum::IfcRailingType_HANDRAIL; if (s == "GUARDRAIL") return ::Ifc4::IfcRailingTypeEnum::IfcRailingType_GUARDRAIL; if (s == "BALUSTRADE") return ::Ifc4::IfcRailingTypeEnum::IfcRailingType_BALUSTRADE; if (s == "USERDEFINED") return ::Ifc4::IfcRailingTypeEnum::IfcRailingType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcRailingTypeEnum::IfcRailingType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRailingTypeEnum::operator Ifc4::IfcRailingTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRampFlightTypeEnum::declaration() const { return *IFC4_IfcRampFlightTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRampFlightTypeEnum::Class() { return *IFC4_IfcRampFlightTypeEnum_type; } Ifc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRampFlightTypeEnum::IfcRampFlightTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRampFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRampFlightTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STRAIGHT", "SPIRAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightTypeEnum::FromString(const std::string& s) { if (s == "STRAIGHT") return ::Ifc4::IfcRampFlightTypeEnum::IfcRampFlightType_STRAIGHT; if (s == "SPIRAL") return ::Ifc4::IfcRampFlightTypeEnum::IfcRampFlightType_SPIRAL; if (s == "USERDEFINED") return ::Ifc4::IfcRampFlightTypeEnum::IfcRampFlightType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcRampFlightTypeEnum::IfcRampFlightType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRampFlightTypeEnum::operator Ifc4::IfcRampFlightTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRampTypeEnum::declaration() const { return *IFC4_IfcRampTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRampTypeEnum::Class() { return *IFC4_IfcRampTypeEnum_type; } Ifc4::IfcRampTypeEnum::IfcRampTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRampTypeEnum::IfcRampTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRampTypeEnum::IfcRampTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRampTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRampTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STRAIGHT_RUN_RAMP", "TWO_STRAIGHT_RUN_RAMP", "QUARTER_TURN_RAMP", "TWO_QUARTER_TURN_RAMP", "HALF_TURN_RAMP", "SPIRAL_RAMP", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampTypeEnum::FromString(const std::string& s) { if (s == "STRAIGHT_RUN_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_STRAIGHT_RUN_RAMP; if (s == "TWO_STRAIGHT_RUN_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_TWO_STRAIGHT_RUN_RAMP; if (s == "QUARTER_TURN_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_QUARTER_TURN_RAMP; if (s == "TWO_QUARTER_TURN_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_TWO_QUARTER_TURN_RAMP; if (s == "HALF_TURN_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_HALF_TURN_RAMP; if (s == "SPIRAL_RAMP") return ::Ifc4::IfcRampTypeEnum::IfcRampType_SPIRAL_RAMP; if (s == "USERDEFINED") return ::Ifc4::IfcRampTypeEnum::IfcRampType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcRampTypeEnum::IfcRampType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRampTypeEnum::operator Ifc4::IfcRampTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::declaration() const { return *IFC4_IfcRecurrenceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::Class() { return *IFC4_IfcRecurrenceTypeEnum_type; } Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRecurrenceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRecurrenceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DAILY", "WEEKLY", "MONTHLY_BY_DAY_OF_MONTH", "MONTHLY_BY_POSITION", "BY_DAY_COUNT", "BY_WEEKDAY_COUNT", "YEARLY_BY_DAY_OF_MONTH", "YEARLY_BY_POSITION" }; return names[v]; } Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrenceTypeEnum::FromString(const std::string& s) { if (s == "DAILY") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_DAILY; if (s == "WEEKLY") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_WEEKLY; if (s == "MONTHLY_BY_DAY_OF_MONTH") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH; if (s == "MONTHLY_BY_POSITION") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_MONTHLY_BY_POSITION; if (s == "BY_DAY_COUNT") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_BY_DAY_COUNT; if (s == "BY_WEEKDAY_COUNT") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_BY_WEEKDAY_COUNT; if (s == "YEARLY_BY_DAY_OF_MONTH") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH; if (s == "YEARLY_BY_POSITION") return ::Ifc4::IfcRecurrenceTypeEnum::IfcRecurrenceType_YEARLY_BY_POSITION; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRecurrenceTypeEnum::operator Ifc4::IfcRecurrenceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcReflectanceMethodEnum::declaration() const { return *IFC4_IfcReflectanceMethodEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcReflectanceMethodEnum::Class() { return *IFC4_IfcReflectanceMethodEnum_type; } Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethodEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcReflectanceMethodEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcReflectanceMethodEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BLINN", "FLAT", "GLASS", "MATT", "METAL", "MIRROR", "PHONG", "PLASTIC", "STRAUSS", "NOTDEFINED" }; return names[v]; } Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcReflectanceMethodEnum::FromString(const std::string& s) { if (s == "BLINN") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_BLINN; if (s == "FLAT") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT; if (s == "GLASS") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_GLASS; if (s == "MATT") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_MATT; if (s == "METAL") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_METAL; if (s == "MIRROR") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_MIRROR; if (s == "PHONG") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_PHONG; if (s == "PLASTIC") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_PLASTIC; if (s == "STRAUSS") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_STRAUSS; if (s == "NOTDEFINED") return ::Ifc4::IfcReflectanceMethodEnum::IfcReflectanceMethod_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcReflectanceMethodEnum::operator Ifc4::IfcReflectanceMethodEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::declaration() const { return *IFC4_IfcReinforcingBarRoleEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::Class() { return *IFC4_IfcReinforcingBarRoleEnum_type; } Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcReinforcingBarRoleEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "MAIN", "SHEAR", "LIGATURE", "STUD", "PUNCHING", "EDGE", "RING", "ANCHORING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcReinforcingBarRoleEnum::FromString(const std::string& s) { if (s == "MAIN") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_MAIN; if (s == "SHEAR") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_SHEAR; if (s == "LIGATURE") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_LIGATURE; if (s == "STUD") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_STUD; if (s == "PUNCHING") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_PUNCHING; if (s == "EDGE") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_EDGE; if (s == "RING") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_RING; if (s == "ANCHORING") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_ANCHORING; if (s == "USERDEFINED") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcReinforcingBarRoleEnum::IfcReinforcingBarRole_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcReinforcingBarRoleEnum::operator Ifc4::IfcReinforcingBarRoleEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::declaration() const { return *IFC4_IfcReinforcingBarSurfaceEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::Class() { return *IFC4_IfcReinforcingBarSurfaceEnum_type; } Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarSurfaceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcReinforcingBarSurfaceEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PLAIN", "TEXTURED" }; return names[v]; } Ifc4::IfcReinforcingBarSurfaceEnum::Value Ifc4::IfcReinforcingBarSurfaceEnum::FromString(const std::string& s) { if (s == "PLAIN") return ::Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_PLAIN; if (s == "TEXTURED") return ::Ifc4::IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurface_TEXTURED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcReinforcingBarSurfaceEnum::operator Ifc4::IfcReinforcingBarSurfaceEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::declaration() const { return *IFC4_IfcReinforcingBarTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::Class() { return *IFC4_IfcReinforcingBarTypeEnum_type; } Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcReinforcingBarTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ANCHORING", "EDGE", "LIGATURE", "MAIN", "PUNCHING", "RING", "SHEAR", "STUD", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarTypeEnum::FromString(const std::string& s) { if (s == "ANCHORING") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_ANCHORING; if (s == "EDGE") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_EDGE; if (s == "LIGATURE") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_LIGATURE; if (s == "MAIN") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_MAIN; if (s == "PUNCHING") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_PUNCHING; if (s == "RING") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_RING; if (s == "SHEAR") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_SHEAR; if (s == "STUD") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_STUD; if (s == "USERDEFINED") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcReinforcingBarTypeEnum::IfcReinforcingBarType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcReinforcingBarTypeEnum::operator Ifc4::IfcReinforcingBarTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::declaration() const { return *IFC4_IfcReinforcingMeshTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::Class() { return *IFC4_IfcReinforcingMeshTypeEnum_type; } Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcReinforcingMeshTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshTypeEnum::FromString(const std::string& s) { if (s == "USERDEFINED") return ::Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcReinforcingMeshTypeEnum::IfcReinforcingMeshType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcReinforcingMeshTypeEnum::operator Ifc4::IfcReinforcingMeshTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRoleEnum::declaration() const { return *IFC4_IfcRoleEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRoleEnum::Class() { return *IFC4_IfcRoleEnum_type; } Ifc4::IfcRoleEnum::IfcRoleEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRoleEnum::IfcRoleEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRoleEnum::IfcRoleEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRoleEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRoleEnum::ToString(Value v) { if ( v < 0 || v >= 23 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SUPPLIER", "MANUFACTURER", "CONTRACTOR", "SUBCONTRACTOR", "ARCHITECT", "STRUCTURALENGINEER", "COSTENGINEER", "CLIENT", "BUILDINGOWNER", "BUILDINGOPERATOR", "MECHANICALENGINEER", "ELECTRICALENGINEER", "PROJECTMANAGER", "FACILITIESMANAGER", "CIVILENGINEER", "COMMISSIONINGENGINEER", "ENGINEER", "OWNER", "CONSULTANT", "CONSTRUCTIONMANAGER", "FIELDCONSTRUCTIONMANAGER", "RESELLER", "USERDEFINED" }; return names[v]; } Ifc4::IfcRoleEnum::Value Ifc4::IfcRoleEnum::FromString(const std::string& s) { if (s == "SUPPLIER") return ::Ifc4::IfcRoleEnum::IfcRole_SUPPLIER; if (s == "MANUFACTURER") return ::Ifc4::IfcRoleEnum::IfcRole_MANUFACTURER; if (s == "CONTRACTOR") return ::Ifc4::IfcRoleEnum::IfcRole_CONTRACTOR; if (s == "SUBCONTRACTOR") return ::Ifc4::IfcRoleEnum::IfcRole_SUBCONTRACTOR; if (s == "ARCHITECT") return ::Ifc4::IfcRoleEnum::IfcRole_ARCHITECT; if (s == "STRUCTURALENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_STRUCTURALENGINEER; if (s == "COSTENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_COSTENGINEER; if (s == "CLIENT") return ::Ifc4::IfcRoleEnum::IfcRole_CLIENT; if (s == "BUILDINGOWNER") return ::Ifc4::IfcRoleEnum::IfcRole_BUILDINGOWNER; if (s == "BUILDINGOPERATOR") return ::Ifc4::IfcRoleEnum::IfcRole_BUILDINGOPERATOR; if (s == "MECHANICALENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_MECHANICALENGINEER; if (s == "ELECTRICALENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_ELECTRICALENGINEER; if (s == "PROJECTMANAGER") return ::Ifc4::IfcRoleEnum::IfcRole_PROJECTMANAGER; if (s == "FACILITIESMANAGER") return ::Ifc4::IfcRoleEnum::IfcRole_FACILITIESMANAGER; if (s == "CIVILENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_CIVILENGINEER; if (s == "COMMISSIONINGENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_COMMISSIONINGENGINEER; if (s == "ENGINEER") return ::Ifc4::IfcRoleEnum::IfcRole_ENGINEER; if (s == "OWNER") return ::Ifc4::IfcRoleEnum::IfcRole_OWNER; if (s == "CONSULTANT") return ::Ifc4::IfcRoleEnum::IfcRole_CONSULTANT; if (s == "CONSTRUCTIONMANAGER") return ::Ifc4::IfcRoleEnum::IfcRole_CONSTRUCTIONMANAGER; if (s == "FIELDCONSTRUCTIONMANAGER") return ::Ifc4::IfcRoleEnum::IfcRole_FIELDCONSTRUCTIONMANAGER; if (s == "RESELLER") return ::Ifc4::IfcRoleEnum::IfcRole_RESELLER; if (s == "USERDEFINED") return ::Ifc4::IfcRoleEnum::IfcRole_USERDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRoleEnum::operator Ifc4::IfcRoleEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcRoofTypeEnum::declaration() const { return *IFC4_IfcRoofTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcRoofTypeEnum::Class() { return *IFC4_IfcRoofTypeEnum_type; } Ifc4::IfcRoofTypeEnum::IfcRoofTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRoofTypeEnum::IfcRoofTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcRoofTypeEnum::IfcRoofTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcRoofTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcRoofTypeEnum::ToString(Value v) { if ( v < 0 || v >= 15 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FLAT_ROOF", "SHED_ROOF", "GABLE_ROOF", "HIP_ROOF", "HIPPED_GABLE_ROOF", "GAMBREL_ROOF", "MANSARD_ROOF", "BARREL_ROOF", "RAINBOW_ROOF", "BUTTERFLY_ROOF", "PAVILION_ROOF", "DOME_ROOF", "FREEFORM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofTypeEnum::FromString(const std::string& s) { if (s == "FLAT_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_FLAT_ROOF; if (s == "SHED_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_SHED_ROOF; if (s == "GABLE_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF; if (s == "HIP_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_HIP_ROOF; if (s == "HIPPED_GABLE_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_HIPPED_GABLE_ROOF; if (s == "GAMBREL_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_GAMBREL_ROOF; if (s == "MANSARD_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_MANSARD_ROOF; if (s == "BARREL_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_BARREL_ROOF; if (s == "RAINBOW_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_RAINBOW_ROOF; if (s == "BUTTERFLY_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_BUTTERFLY_ROOF; if (s == "PAVILION_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_PAVILION_ROOF; if (s == "DOME_ROOF") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_DOME_ROOF; if (s == "FREEFORM") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_FREEFORM; if (s == "USERDEFINED") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcRoofTypeEnum::IfcRoofType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcRoofTypeEnum::operator Ifc4::IfcRoofTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSIPrefix::declaration() const { return *IFC4_IfcSIPrefix_type; } const IfcParse::enumeration_type& Ifc4::IfcSIPrefix::Class() { return *IFC4_IfcSIPrefix_type; } Ifc4::IfcSIPrefix::IfcSIPrefix(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSIPrefix::IfcSIPrefix(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSIPrefix::IfcSIPrefix(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSIPrefix_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSIPrefix::ToString(Value v) { if ( v < 0 || v >= 16 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "EXA", "PETA", "TERA", "GIGA", "MEGA", "KILO", "HECTO", "DECA", "DECI", "CENTI", "MILLI", "MICRO", "NANO", "PICO", "FEMTO", "ATTO" }; return names[v]; } Ifc4::IfcSIPrefix::Value Ifc4::IfcSIPrefix::FromString(const std::string& s) { if (s == "EXA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_EXA; if (s == "PETA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_PETA; if (s == "TERA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_TERA; if (s == "GIGA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_GIGA; if (s == "MEGA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_MEGA; if (s == "KILO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_KILO; if (s == "HECTO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_HECTO; if (s == "DECA") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_DECA; if (s == "DECI") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_DECI; if (s == "CENTI") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_CENTI; if (s == "MILLI") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_MILLI; if (s == "MICRO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_MICRO; if (s == "NANO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_NANO; if (s == "PICO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_PICO; if (s == "FEMTO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_FEMTO; if (s == "ATTO") return ::Ifc4::IfcSIPrefix::IfcSIPrefix_ATTO; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSIPrefix::operator Ifc4::IfcSIPrefix::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSIUnitName::declaration() const { return *IFC4_IfcSIUnitName_type; } const IfcParse::enumeration_type& Ifc4::IfcSIUnitName::Class() { return *IFC4_IfcSIUnitName_type; } Ifc4::IfcSIUnitName::IfcSIUnitName(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSIUnitName::IfcSIUnitName(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSIUnitName::IfcSIUnitName(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSIUnitName_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSIUnitName::ToString(Value v) { if ( v < 0 || v >= 30 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AMPERE", "BECQUEREL", "CANDELA", "COULOMB", "CUBIC_METRE", "DEGREE_CELSIUS", "FARAD", "GRAM", "GRAY", "HENRY", "HERTZ", "JOULE", "KELVIN", "LUMEN", "LUX", "METRE", "MOLE", "NEWTON", "OHM", "PASCAL", "RADIAN", "SECOND", "SIEMENS", "SIEVERT", "SQUARE_METRE", "STERADIAN", "TESLA", "VOLT", "WATT", "WEBER" }; return names[v]; } Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnitName::FromString(const std::string& s) { if (s == "AMPERE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_AMPERE; if (s == "BECQUEREL") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_BECQUEREL; if (s == "CANDELA") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_CANDELA; if (s == "COULOMB") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_COULOMB; if (s == "CUBIC_METRE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_CUBIC_METRE; if (s == "DEGREE_CELSIUS") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_DEGREE_CELSIUS; if (s == "FARAD") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_FARAD; if (s == "GRAM") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_GRAM; if (s == "GRAY") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_GRAY; if (s == "HENRY") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_HENRY; if (s == "HERTZ") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_HERTZ; if (s == "JOULE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_JOULE; if (s == "KELVIN") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_KELVIN; if (s == "LUMEN") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_LUMEN; if (s == "LUX") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_LUX; if (s == "METRE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_METRE; if (s == "MOLE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_MOLE; if (s == "NEWTON") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_NEWTON; if (s == "OHM") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_OHM; if (s == "PASCAL") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_PASCAL; if (s == "RADIAN") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_RADIAN; if (s == "SECOND") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_SECOND; if (s == "SIEMENS") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_SIEMENS; if (s == "SIEVERT") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_SIEVERT; if (s == "SQUARE_METRE") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_SQUARE_METRE; if (s == "STERADIAN") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_STERADIAN; if (s == "TESLA") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_TESLA; if (s == "VOLT") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_VOLT; if (s == "WATT") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_WATT; if (s == "WEBER") return ::Ifc4::IfcSIUnitName::IfcSIUnitName_WEBER; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSIUnitName::operator Ifc4::IfcSIUnitName::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::declaration() const { return *IFC4_IfcSanitaryTerminalTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::Class() { return *IFC4_IfcSanitaryTerminalTypeEnum_type; } Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSanitaryTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSanitaryTerminalTypeEnum::ToString(Value v) { if ( v < 0 || v >= 12 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BATH", "BIDET", "CISTERN", "SHOWER", "SINK", "SANITARYFOUNTAIN", "TOILETPAN", "URINAL", "WASHHANDBASIN", "WCSEAT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalTypeEnum::FromString(const std::string& s) { if (s == "BATH") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BATH; if (s == "BIDET") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_BIDET; if (s == "CISTERN") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_CISTERN; if (s == "SHOWER") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SHOWER; if (s == "SINK") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SINK; if (s == "SANITARYFOUNTAIN") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_SANITARYFOUNTAIN; if (s == "TOILETPAN") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_TOILETPAN; if (s == "URINAL") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_URINAL; if (s == "WASHHANDBASIN") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WASHHANDBASIN; if (s == "WCSEAT") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_WCSEAT; if (s == "USERDEFINED") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSanitaryTerminalTypeEnum::operator Ifc4::IfcSanitaryTerminalTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSectionTypeEnum::declaration() const { return *IFC4_IfcSectionTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSectionTypeEnum::Class() { return *IFC4_IfcSectionTypeEnum_type; } Ifc4::IfcSectionTypeEnum::IfcSectionTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSectionTypeEnum::IfcSectionTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSectionTypeEnum::IfcSectionTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSectionTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSectionTypeEnum::ToString(Value v) { if ( v < 0 || v >= 2 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "UNIFORM", "TAPERED" }; return names[v]; } Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionTypeEnum::FromString(const std::string& s) { if (s == "UNIFORM") return ::Ifc4::IfcSectionTypeEnum::IfcSectionType_UNIFORM; if (s == "TAPERED") return ::Ifc4::IfcSectionTypeEnum::IfcSectionType_TAPERED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSectionTypeEnum::operator Ifc4::IfcSectionTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSensorTypeEnum::declaration() const { return *IFC4_IfcSensorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSensorTypeEnum::Class() { return *IFC4_IfcSensorTypeEnum_type; } Ifc4::IfcSensorTypeEnum::IfcSensorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSensorTypeEnum::IfcSensorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSensorTypeEnum::IfcSensorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSensorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSensorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 26 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COSENSOR", "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "FROSTSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IDENTIFIERSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorTypeEnum::FromString(const std::string& s) { if (s == "COSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_COSENSOR; if (s == "CO2SENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; if (s == "CONDUCTANCESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONDUCTANCESENSOR; if (s == "CONTACTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONTACTSENSOR; if (s == "FIRESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FIRESENSOR; if (s == "FLOWSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FLOWSENSOR; if (s == "FROSTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FROSTSENSOR; if (s == "GASSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_GASSENSOR; if (s == "HEATSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HEATSENSOR; if (s == "HUMIDITYSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HUMIDITYSENSOR; if (s == "IDENTIFIERSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IDENTIFIERSENSOR; if (s == "IONCONCENTRATIONSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IONCONCENTRATIONSENSOR; if (s == "LEVELSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LEVELSENSOR; if (s == "LIGHTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LIGHTSENSOR; if (s == "MOISTURESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_MOISTURESENSOR; if (s == "MOVEMENTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_MOVEMENTSENSOR; if (s == "PHSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_PHSENSOR; if (s == "PRESSURESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_PRESSURESENSOR; if (s == "RADIATIONSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_RADIATIONSENSOR; if (s == "RADIOACTIVITYSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_RADIOACTIVITYSENSOR; if (s == "SMOKESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_SMOKESENSOR; if (s == "SOUNDSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_SOUNDSENSOR; if (s == "TEMPERATURESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_TEMPERATURESENSOR; if (s == "WINDSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_WINDSENSOR; if (s == "USERDEFINED") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSensorTypeEnum::operator Ifc4::IfcSensorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSequenceEnum::declaration() const { return *IFC4_IfcSequenceEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSequenceEnum::Class() { return *IFC4_IfcSequenceEnum_type; } Ifc4::IfcSequenceEnum::IfcSequenceEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSequenceEnum::IfcSequenceEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSequenceEnum::IfcSequenceEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSequenceEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSequenceEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "START_START", "START_FINISH", "FINISH_START", "FINISH_FINISH", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSequenceEnum::Value Ifc4::IfcSequenceEnum::FromString(const std::string& s) { if (s == "START_START") return ::Ifc4::IfcSequenceEnum::IfcSequence_START_START; if (s == "START_FINISH") return ::Ifc4::IfcSequenceEnum::IfcSequence_START_FINISH; if (s == "FINISH_START") return ::Ifc4::IfcSequenceEnum::IfcSequence_FINISH_START; if (s == "FINISH_FINISH") return ::Ifc4::IfcSequenceEnum::IfcSequence_FINISH_FINISH; if (s == "USERDEFINED") return ::Ifc4::IfcSequenceEnum::IfcSequence_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSequenceEnum::IfcSequence_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSequenceEnum::operator Ifc4::IfcSequenceEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::declaration() const { return *IFC4_IfcShadingDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::Class() { return *IFC4_IfcShadingDeviceTypeEnum_type; } Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcShadingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcShadingDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "JALOUSIE", "SHUTTER", "AWNING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceTypeEnum::FromString(const std::string& s) { if (s == "JALOUSIE") return ::Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceType_JALOUSIE; if (s == "SHUTTER") return ::Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceType_SHUTTER; if (s == "AWNING") return ::Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceType_AWNING; if (s == "USERDEFINED") return ::Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcShadingDeviceTypeEnum::IfcShadingDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcShadingDeviceTypeEnum::operator Ifc4::IfcShadingDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *IFC4_IfcSimplePropertyTemplateTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::Class() { return *IFC4_IfcSimplePropertyTemplateTypeEnum_type; } Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSimplePropertyTemplateTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSimplePropertyTemplateTypeEnum::ToString(Value v) { if ( v < 0 || v >= 12 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "P_SINGLEVALUE", "P_ENUMERATEDVALUE", "P_BOUNDEDVALUE", "P_LISTVALUE", "P_TABLEVALUE", "P_REFERENCEVALUE", "Q_LENGTH", "Q_AREA", "Q_VOLUME", "Q_COUNT", "Q_WEIGHT", "Q_TIME" }; return names[v]; } Ifc4::IfcSimplePropertyTemplateTypeEnum::Value Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(const std::string& s) { if (s == "P_SINGLEVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_SINGLEVALUE; if (s == "P_ENUMERATEDVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE; if (s == "P_BOUNDEDVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_BOUNDEDVALUE; if (s == "P_LISTVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_LISTVALUE; if (s == "P_TABLEVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_TABLEVALUE; if (s == "P_REFERENCEVALUE") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_P_REFERENCEVALUE; if (s == "Q_LENGTH") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_LENGTH; if (s == "Q_AREA") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_AREA; if (s == "Q_VOLUME") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_VOLUME; if (s == "Q_COUNT") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_COUNT; if (s == "Q_WEIGHT") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_WEIGHT; if (s == "Q_TIME") return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateType_Q_TIME; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSimplePropertyTemplateTypeEnum::operator Ifc4::IfcSimplePropertyTemplateTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSlabTypeEnum::declaration() const { return *IFC4_IfcSlabTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSlabTypeEnum::Class() { return *IFC4_IfcSlabTypeEnum_type; } Ifc4::IfcSlabTypeEnum::IfcSlabTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSlabTypeEnum::IfcSlabTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSlabTypeEnum::IfcSlabTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSlabTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSlabTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FLOOR", "ROOF", "LANDING", "BASESLAB", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabTypeEnum::FromString(const std::string& s) { if (s == "FLOOR") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_FLOOR; if (s == "ROOF") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_ROOF; if (s == "LANDING") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_LANDING; if (s == "BASESLAB") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_BASESLAB; if (s == "USERDEFINED") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSlabTypeEnum::IfcSlabType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSlabTypeEnum::operator Ifc4::IfcSlabTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::declaration() const { return *IFC4_IfcSolarDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::Class() { return *IFC4_IfcSolarDeviceTypeEnum_type; } Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSolarDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSolarDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SOLARCOLLECTOR", "SOLARPANEL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceTypeEnum::FromString(const std::string& s) { if (s == "SOLARCOLLECTOR") return ::Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceType_SOLARCOLLECTOR; if (s == "SOLARPANEL") return ::Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceType_SOLARPANEL; if (s == "USERDEFINED") return ::Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSolarDeviceTypeEnum::IfcSolarDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSolarDeviceTypeEnum::operator Ifc4::IfcSolarDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::declaration() const { return *IFC4_IfcSpaceHeaterTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::Class() { return *IFC4_IfcSpaceHeaterTypeEnum_type; } Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpaceHeaterTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSpaceHeaterTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONVECTOR", "RADIATOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterTypeEnum::FromString(const std::string& s) { if (s == "CONVECTOR") return ::Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_CONVECTOR; if (s == "RADIATOR") return ::Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_RADIATOR; if (s == "USERDEFINED") return ::Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSpaceHeaterTypeEnum::IfcSpaceHeaterType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSpaceHeaterTypeEnum::operator Ifc4::IfcSpaceHeaterTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSpaceTypeEnum::declaration() const { return *IFC4_IfcSpaceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSpaceTypeEnum::Class() { return *IFC4_IfcSpaceTypeEnum_type; } Ifc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSpaceTypeEnum::IfcSpaceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpaceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSpaceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SPACE", "PARKING", "GFA", "INTERNAL", "EXTERNAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceTypeEnum::FromString(const std::string& s) { if (s == "SPACE") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_SPACE; if (s == "PARKING") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_PARKING; if (s == "GFA") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_GFA; if (s == "INTERNAL") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_INTERNAL; if (s == "EXTERNAL") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_EXTERNAL; if (s == "USERDEFINED") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSpaceTypeEnum::IfcSpaceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSpaceTypeEnum::operator Ifc4::IfcSpaceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::declaration() const { return *IFC4_IfcSpatialZoneTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::Class() { return *IFC4_IfcSpatialZoneTypeEnum_type; } Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpatialZoneTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSpatialZoneTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONSTRUCTION", "FIRESAFETY", "LIGHTING", "OCCUPANCY", "SECURITY", "THERMAL", "TRANSPORT", "VENTILATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneTypeEnum::FromString(const std::string& s) { if (s == "CONSTRUCTION") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_CONSTRUCTION; if (s == "FIRESAFETY") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_FIRESAFETY; if (s == "LIGHTING") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_LIGHTING; if (s == "OCCUPANCY") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_OCCUPANCY; if (s == "SECURITY") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_SECURITY; if (s == "THERMAL") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_THERMAL; if (s == "TRANSPORT") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_TRANSPORT; if (s == "VENTILATION") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_VENTILATION; if (s == "USERDEFINED") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSpatialZoneTypeEnum::IfcSpatialZoneType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSpatialZoneTypeEnum::operator Ifc4::IfcSpatialZoneTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::declaration() const { return *IFC4_IfcStackTerminalTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::Class() { return *IFC4_IfcStackTerminalTypeEnum_type; } Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStackTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStackTerminalTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BIRDCAGE", "COWL", "RAINWATERHOPPER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalTypeEnum::FromString(const std::string& s) { if (s == "BIRDCAGE") return ::Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalType_BIRDCAGE; if (s == "COWL") return ::Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalType_COWL; if (s == "RAINWATERHOPPER") return ::Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalType_RAINWATERHOPPER; if (s == "USERDEFINED") return ::Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStackTerminalTypeEnum::IfcStackTerminalType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStackTerminalTypeEnum::operator Ifc4::IfcStackTerminalTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStairFlightTypeEnum::declaration() const { return *IFC4_IfcStairFlightTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStairFlightTypeEnum::Class() { return *IFC4_IfcStairFlightTypeEnum_type; } Ifc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStairFlightTypeEnum::IfcStairFlightTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStairFlightTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStairFlightTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STRAIGHT", "WINDER", "SPIRAL", "CURVED", "FREEFORM", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightTypeEnum::FromString(const std::string& s) { if (s == "STRAIGHT") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_STRAIGHT; if (s == "WINDER") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_WINDER; if (s == "SPIRAL") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_SPIRAL; if (s == "CURVED") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_CURVED; if (s == "FREEFORM") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_FREEFORM; if (s == "USERDEFINED") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStairFlightTypeEnum::IfcStairFlightType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStairFlightTypeEnum::operator Ifc4::IfcStairFlightTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStairTypeEnum::declaration() const { return *IFC4_IfcStairTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStairTypeEnum::Class() { return *IFC4_IfcStairTypeEnum_type; } Ifc4::IfcStairTypeEnum::IfcStairTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStairTypeEnum::IfcStairTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStairTypeEnum::IfcStairTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStairTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStairTypeEnum::ToString(Value v) { if ( v < 0 || v >= 16 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "STRAIGHT_RUN_STAIR", "TWO_STRAIGHT_RUN_STAIR", "QUARTER_WINDING_STAIR", "QUARTER_TURN_STAIR", "HALF_WINDING_STAIR", "HALF_TURN_STAIR", "TWO_QUARTER_WINDING_STAIR", "TWO_QUARTER_TURN_STAIR", "THREE_QUARTER_WINDING_STAIR", "THREE_QUARTER_TURN_STAIR", "SPIRAL_STAIR", "DOUBLE_RETURN_STAIR", "CURVED_RUN_STAIR", "TWO_CURVED_RUN_STAIR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairTypeEnum::FromString(const std::string& s) { if (s == "STRAIGHT_RUN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_STRAIGHT_RUN_STAIR; if (s == "TWO_STRAIGHT_RUN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_TWO_STRAIGHT_RUN_STAIR; if (s == "QUARTER_WINDING_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_QUARTER_WINDING_STAIR; if (s == "QUARTER_TURN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_QUARTER_TURN_STAIR; if (s == "HALF_WINDING_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_HALF_WINDING_STAIR; if (s == "HALF_TURN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_HALF_TURN_STAIR; if (s == "TWO_QUARTER_WINDING_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_TWO_QUARTER_WINDING_STAIR; if (s == "TWO_QUARTER_TURN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_TWO_QUARTER_TURN_STAIR; if (s == "THREE_QUARTER_WINDING_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_THREE_QUARTER_WINDING_STAIR; if (s == "THREE_QUARTER_TURN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_THREE_QUARTER_TURN_STAIR; if (s == "SPIRAL_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_SPIRAL_STAIR; if (s == "DOUBLE_RETURN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_DOUBLE_RETURN_STAIR; if (s == "CURVED_RUN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_CURVED_RUN_STAIR; if (s == "TWO_CURVED_RUN_STAIR") return ::Ifc4::IfcStairTypeEnum::IfcStairType_TWO_CURVED_RUN_STAIR; if (s == "USERDEFINED") return ::Ifc4::IfcStairTypeEnum::IfcStairType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStairTypeEnum::IfcStairType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStairTypeEnum::operator Ifc4::IfcStairTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStateEnum::declaration() const { return *IFC4_IfcStateEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStateEnum::Class() { return *IFC4_IfcStateEnum_type; } Ifc4::IfcStateEnum::IfcStateEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStateEnum::IfcStateEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStateEnum::IfcStateEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStateEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStateEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "READWRITE", "READONLY", "LOCKED", "READWRITELOCKED", "READONLYLOCKED" }; return names[v]; } Ifc4::IfcStateEnum::Value Ifc4::IfcStateEnum::FromString(const std::string& s) { if (s == "READWRITE") return ::Ifc4::IfcStateEnum::IfcState_READWRITE; if (s == "READONLY") return ::Ifc4::IfcStateEnum::IfcState_READONLY; if (s == "LOCKED") return ::Ifc4::IfcStateEnum::IfcState_LOCKED; if (s == "READWRITELOCKED") return ::Ifc4::IfcStateEnum::IfcState_READWRITELOCKED; if (s == "READONLYLOCKED") return ::Ifc4::IfcStateEnum::IfcState_READONLYLOCKED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStateEnum::operator Ifc4::IfcStateEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum::declaration() const { return *IFC4_IfcStructuralCurveActivityTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum::Class() { return *IFC4_IfcStructuralCurveActivityTypeEnum_type; } Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONST", "LINEAR", "POLYGONAL", "EQUIDISTANT", "SINUS", "PARABOLA", "DISCRETE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(const std::string& s) { if (s == "CONST") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_CONST; if (s == "LINEAR") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_LINEAR; if (s == "POLYGONAL") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_POLYGONAL; if (s == "EQUIDISTANT") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_EQUIDISTANT; if (s == "SINUS") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_SINUS; if (s == "PARABOLA") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_PARABOLA; if (s == "DISCRETE") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_DISCRETE; if (s == "USERDEFINED") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStructuralCurveActivityTypeEnum::operator Ifc4::IfcStructuralCurveActivityTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::declaration() const { return *IFC4_IfcStructuralCurveMemberTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::Class() { return *IFC4_IfcStructuralCurveMemberTypeEnum_type; } Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStructuralCurveMemberTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "RIGID_JOINED_MEMBER", "PIN_JOINED_MEMBER", "CABLE", "TENSION_MEMBER", "COMPRESSION_MEMBER", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(const std::string& s) { if (s == "RIGID_JOINED_MEMBER") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER; if (s == "PIN_JOINED_MEMBER") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_PIN_JOINED_MEMBER; if (s == "CABLE") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_CABLE; if (s == "TENSION_MEMBER") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_TENSION_MEMBER; if (s == "COMPRESSION_MEMBER") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_COMPRESSION_MEMBER; if (s == "USERDEFINED") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStructuralCurveMemberTypeEnum::operator Ifc4::IfcStructuralCurveMemberTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *IFC4_IfcStructuralSurfaceActivityTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class() { return *IFC4_IfcStructuralSurfaceActivityTypeEnum_type; } Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceActivityTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONST", "BILINEAR", "DISCRETE", "ISOCONTOUR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(const std::string& s) { if (s == "CONST") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_CONST; if (s == "BILINEAR") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_BILINEAR; if (s == "DISCRETE") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_DISCRETE; if (s == "ISOCONTOUR") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_ISOCONTOUR; if (s == "USERDEFINED") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *IFC4_IfcStructuralSurfaceMemberTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class() { return *IFC4_IfcStructuralSurfaceMemberTypeEnum_type; } Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceMemberTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcStructuralSurfaceMemberTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BENDING_ELEMENT", "MEMBRANE_ELEMENT", "SHELL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(const std::string& s) { if (s == "BENDING_ELEMENT") return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberType_BENDING_ELEMENT; if (s == "MEMBRANE_ELEMENT") return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT; if (s == "SHELL") return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberType_SHELL; if (s == "USERDEFINED") return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::declaration() const { return *IFC4_IfcSubContractResourceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::Class() { return *IFC4_IfcSubContractResourceTypeEnum_type; } Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSubContractResourceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSubContractResourceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PURCHASE", "WORK", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceTypeEnum::FromString(const std::string& s) { if (s == "PURCHASE") return ::Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceType_PURCHASE; if (s == "WORK") return ::Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceType_WORK; if (s == "USERDEFINED") return ::Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSubContractResourceTypeEnum::IfcSubContractResourceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSubContractResourceTypeEnum::operator Ifc4::IfcSubContractResourceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::declaration() const { return *IFC4_IfcSurfaceFeatureTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::Class() { return *IFC4_IfcSurfaceFeatureTypeEnum_type; } Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSurfaceFeatureTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "MARK", "TAG", "TREATMENT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSurfaceFeatureTypeEnum::Value Ifc4::IfcSurfaceFeatureTypeEnum::FromString(const std::string& s) { if (s == "MARK") return ::Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureType_MARK; if (s == "TAG") return ::Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureType_TAG; if (s == "TREATMENT") return ::Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureType_TREATMENT; if (s == "USERDEFINED") return ::Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSurfaceFeatureTypeEnum::operator Ifc4::IfcSurfaceFeatureTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSurfaceSide::declaration() const { return *IFC4_IfcSurfaceSide_type; } const IfcParse::enumeration_type& Ifc4::IfcSurfaceSide::Class() { return *IFC4_IfcSurfaceSide_type; } Ifc4::IfcSurfaceSide::IfcSurfaceSide(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSurfaceSide::IfcSurfaceSide(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSurfaceSide::IfcSurfaceSide(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceSide_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSurfaceSide::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "POSITIVE", "NEGATIVE", "BOTH" }; return names[v]; } Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceSide::FromString(const std::string& s) { if (s == "POSITIVE") return ::Ifc4::IfcSurfaceSide::IfcSurfaceSide_POSITIVE; if (s == "NEGATIVE") return ::Ifc4::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE; if (s == "BOTH") return ::Ifc4::IfcSurfaceSide::IfcSurfaceSide_BOTH; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSurfaceSide::operator Ifc4::IfcSurfaceSide::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::declaration() const { return *IFC4_IfcSwitchingDeviceTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::Class() { return *IFC4_IfcSwitchingDeviceTypeEnum_type; } Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSwitchingDeviceTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSwitchingDeviceTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONTACTOR", "DIMMERSWITCH", "EMERGENCYSTOP", "KEYPAD", "MOMENTARYSWITCH", "SELECTORSWITCH", "STARTER", "SWITCHDISCONNECTOR", "TOGGLESWITCH", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceTypeEnum::FromString(const std::string& s) { if (s == "CONTACTOR") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_CONTACTOR; if (s == "DIMMERSWITCH") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_DIMMERSWITCH; if (s == "EMERGENCYSTOP") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_EMERGENCYSTOP; if (s == "KEYPAD") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_KEYPAD; if (s == "MOMENTARYSWITCH") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_MOMENTARYSWITCH; if (s == "SELECTORSWITCH") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_SELECTORSWITCH; if (s == "STARTER") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_STARTER; if (s == "SWITCHDISCONNECTOR") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_SWITCHDISCONNECTOR; if (s == "TOGGLESWITCH") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_TOGGLESWITCH; if (s == "USERDEFINED") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSwitchingDeviceTypeEnum::operator Ifc4::IfcSwitchingDeviceTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::declaration() const { return *IFC4_IfcSystemFurnitureElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::Class() { return *IFC4_IfcSystemFurnitureElementTypeEnum_type; } Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcSystemFurnitureElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "PANEL", "WORKSURFACE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(const std::string& s) { if (s == "PANEL") return ::Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementType_PANEL; if (s == "WORKSURFACE") return ::Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementType_WORKSURFACE; if (s == "USERDEFINED") return ::Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcSystemFurnitureElementTypeEnum::operator Ifc4::IfcSystemFurnitureElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTankTypeEnum::declaration() const { return *IFC4_IfcTankTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTankTypeEnum::Class() { return *IFC4_IfcTankTypeEnum_type; } Ifc4::IfcTankTypeEnum::IfcTankTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTankTypeEnum::IfcTankTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTankTypeEnum::IfcTankTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTankTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTankTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BASIN", "BREAKPRESSURE", "EXPANSION", "FEEDANDEXPANSION", "PRESSUREVESSEL", "STORAGE", "VESSEL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankTypeEnum::FromString(const std::string& s) { if (s == "BASIN") return ::Ifc4::IfcTankTypeEnum::IfcTankType_BASIN; if (s == "BREAKPRESSURE") return ::Ifc4::IfcTankTypeEnum::IfcTankType_BREAKPRESSURE; if (s == "EXPANSION") return ::Ifc4::IfcTankTypeEnum::IfcTankType_EXPANSION; if (s == "FEEDANDEXPANSION") return ::Ifc4::IfcTankTypeEnum::IfcTankType_FEEDANDEXPANSION; if (s == "PRESSUREVESSEL") return ::Ifc4::IfcTankTypeEnum::IfcTankType_PRESSUREVESSEL; if (s == "STORAGE") return ::Ifc4::IfcTankTypeEnum::IfcTankType_STORAGE; if (s == "VESSEL") return ::Ifc4::IfcTankTypeEnum::IfcTankType_VESSEL; if (s == "USERDEFINED") return ::Ifc4::IfcTankTypeEnum::IfcTankType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTankTypeEnum::IfcTankType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTankTypeEnum::operator Ifc4::IfcTankTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTaskDurationEnum::declaration() const { return *IFC4_IfcTaskDurationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTaskDurationEnum::Class() { return *IFC4_IfcTaskDurationEnum_type; } Ifc4::IfcTaskDurationEnum::IfcTaskDurationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTaskDurationEnum::IfcTaskDurationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTaskDurationEnum::IfcTaskDurationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTaskDurationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTaskDurationEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ELAPSEDTIME", "WORKTIME", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcTaskDurationEnum::FromString(const std::string& s) { if (s == "ELAPSEDTIME") return ::Ifc4::IfcTaskDurationEnum::IfcTaskDuration_ELAPSEDTIME; if (s == "WORKTIME") return ::Ifc4::IfcTaskDurationEnum::IfcTaskDuration_WORKTIME; if (s == "NOTDEFINED") return ::Ifc4::IfcTaskDurationEnum::IfcTaskDuration_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTaskDurationEnum::operator Ifc4::IfcTaskDurationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTaskTypeEnum::declaration() const { return *IFC4_IfcTaskTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTaskTypeEnum::Class() { return *IFC4_IfcTaskTypeEnum_type; } Ifc4::IfcTaskTypeEnum::IfcTaskTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTaskTypeEnum::IfcTaskTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTaskTypeEnum::IfcTaskTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTaskTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTaskTypeEnum::ToString(Value v) { if ( v < 0 || v >= 14 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ATTENDANCE", "CONSTRUCTION", "DEMOLITION", "DISMANTLE", "DISPOSAL", "INSTALLATION", "LOGISTIC", "MAINTENANCE", "MOVE", "OPERATION", "REMOVAL", "RENOVATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskTypeEnum::FromString(const std::string& s) { if (s == "ATTENDANCE") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_ATTENDANCE; if (s == "CONSTRUCTION") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_CONSTRUCTION; if (s == "DEMOLITION") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_DEMOLITION; if (s == "DISMANTLE") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_DISMANTLE; if (s == "DISPOSAL") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_DISPOSAL; if (s == "INSTALLATION") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_INSTALLATION; if (s == "LOGISTIC") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_LOGISTIC; if (s == "MAINTENANCE") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_MAINTENANCE; if (s == "MOVE") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_MOVE; if (s == "OPERATION") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_OPERATION; if (s == "REMOVAL") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_REMOVAL; if (s == "RENOVATION") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_RENOVATION; if (s == "USERDEFINED") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTaskTypeEnum::IfcTaskType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTaskTypeEnum::operator Ifc4::IfcTaskTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::declaration() const { return *IFC4_IfcTendonAnchorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::Class() { return *IFC4_IfcTendonAnchorTypeEnum_type; } Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTendonAnchorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTendonAnchorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COUPLER", "FIXED_END", "TENSIONING_END", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorTypeEnum::FromString(const std::string& s) { if (s == "COUPLER") return ::Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorType_COUPLER; if (s == "FIXED_END") return ::Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorType_FIXED_END; if (s == "TENSIONING_END") return ::Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorType_TENSIONING_END; if (s == "USERDEFINED") return ::Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTendonAnchorTypeEnum::IfcTendonAnchorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTendonAnchorTypeEnum::operator Ifc4::IfcTendonAnchorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTendonTypeEnum::declaration() const { return *IFC4_IfcTendonTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTendonTypeEnum::Class() { return *IFC4_IfcTendonTypeEnum_type; } Ifc4::IfcTendonTypeEnum::IfcTendonTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTendonTypeEnum::IfcTendonTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTendonTypeEnum::IfcTendonTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTendonTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTendonTypeEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "BAR", "COATED", "STRAND", "WIRE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonTypeEnum::FromString(const std::string& s) { if (s == "BAR") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_BAR; if (s == "COATED") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_COATED; if (s == "STRAND") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_STRAND; if (s == "WIRE") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_WIRE; if (s == "USERDEFINED") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTendonTypeEnum::IfcTendonType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTendonTypeEnum::operator Ifc4::IfcTendonTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTextPath::declaration() const { return *IFC4_IfcTextPath_type; } const IfcParse::enumeration_type& Ifc4::IfcTextPath::Class() { return *IFC4_IfcTextPath_type; } Ifc4::IfcTextPath::IfcTextPath(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTextPath::IfcTextPath(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTextPath::IfcTextPath(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextPath_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTextPath::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LEFT", "RIGHT", "UP", "DOWN" }; return names[v]; } Ifc4::IfcTextPath::Value Ifc4::IfcTextPath::FromString(const std::string& s) { if (s == "LEFT") return ::Ifc4::IfcTextPath::IfcTextPath_LEFT; if (s == "RIGHT") return ::Ifc4::IfcTextPath::IfcTextPath_RIGHT; if (s == "UP") return ::Ifc4::IfcTextPath::IfcTextPath_UP; if (s == "DOWN") return ::Ifc4::IfcTextPath::IfcTextPath_DOWN; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTextPath::operator Ifc4::IfcTextPath::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::declaration() const { return *IFC4_IfcTimeSeriesDataTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::Class() { return *IFC4_IfcTimeSeriesDataTypeEnum_type; } Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesDataTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTimeSeriesDataTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CONTINUOUS", "DISCRETE", "DISCRETEBINARY", "PIECEWISEBINARY", "PIECEWISECONSTANT", "PIECEWISECONTINUOUS", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeriesDataTypeEnum::FromString(const std::string& s) { if (s == "CONTINUOUS") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_CONTINUOUS; if (s == "DISCRETE") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETE; if (s == "DISCRETEBINARY") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_DISCRETEBINARY; if (s == "PIECEWISEBINARY") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISEBINARY; if (s == "PIECEWISECONSTANT") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONSTANT; if (s == "PIECEWISECONTINUOUS") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_PIECEWISECONTINUOUS; if (s == "NOTDEFINED") return ::Ifc4::IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTimeSeriesDataTypeEnum::operator Ifc4::IfcTimeSeriesDataTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTransformerTypeEnum::declaration() const { return *IFC4_IfcTransformerTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTransformerTypeEnum::Class() { return *IFC4_IfcTransformerTypeEnum_type; } Ifc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTransformerTypeEnum::IfcTransformerTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransformerTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTransformerTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CURRENT", "FREQUENCY", "INVERTER", "RECTIFIER", "VOLTAGE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerTypeEnum::FromString(const std::string& s) { if (s == "CURRENT") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_CURRENT; if (s == "FREQUENCY") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_FREQUENCY; if (s == "INVERTER") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_INVERTER; if (s == "RECTIFIER") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_RECTIFIER; if (s == "VOLTAGE") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_VOLTAGE; if (s == "USERDEFINED") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTransformerTypeEnum::IfcTransformerType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTransformerTypeEnum::operator Ifc4::IfcTransformerTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTransitionCode::declaration() const { return *IFC4_IfcTransitionCode_type; } const IfcParse::enumeration_type& Ifc4::IfcTransitionCode::Class() { return *IFC4_IfcTransitionCode_type; } Ifc4::IfcTransitionCode::IfcTransitionCode(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTransitionCode::IfcTransitionCode(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTransitionCode::IfcTransitionCode(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransitionCode_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTransitionCode::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "DISCONTINUOUS", "CONTINUOUS", "CONTSAMEGRADIENT", "CONTSAMEGRADIENTSAMECURVATURE" }; return names[v]; } Ifc4::IfcTransitionCode::Value Ifc4::IfcTransitionCode::FromString(const std::string& s) { if (s == "DISCONTINUOUS") return ::Ifc4::IfcTransitionCode::IfcTransitionCode_DISCONTINUOUS; if (s == "CONTINUOUS") return ::Ifc4::IfcTransitionCode::IfcTransitionCode_CONTINUOUS; if (s == "CONTSAMEGRADIENT") return ::Ifc4::IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENT; if (s == "CONTSAMEGRADIENTSAMECURVATURE") return ::Ifc4::IfcTransitionCode::IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTransitionCode::operator Ifc4::IfcTransitionCode::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTransportElementTypeEnum::declaration() const { return *IFC4_IfcTransportElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTransportElementTypeEnum::Class() { return *IFC4_IfcTransportElementTypeEnum_type; } Ifc4::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransportElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTransportElementTypeEnum::IfcTransportElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTransportElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTransportElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ELEVATOR", "ESCALATOR", "MOVINGWALKWAY", "CRANEWAY", "LIFTINGGEAR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementTypeEnum::FromString(const std::string& s) { if (s == "ELEVATOR") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_ELEVATOR; if (s == "ESCALATOR") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_ESCALATOR; if (s == "MOVINGWALKWAY") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_MOVINGWALKWAY; if (s == "CRANEWAY") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_CRANEWAY; if (s == "LIFTINGGEAR") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_LIFTINGGEAR; if (s == "USERDEFINED") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTransportElementTypeEnum::IfcTransportElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTransportElementTypeEnum::operator Ifc4::IfcTransportElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTrimmingPreference::declaration() const { return *IFC4_IfcTrimmingPreference_type; } const IfcParse::enumeration_type& Ifc4::IfcTrimmingPreference::Class() { return *IFC4_IfcTrimmingPreference_type; } Ifc4::IfcTrimmingPreference::IfcTrimmingPreference(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTrimmingPreference::IfcTrimmingPreference(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTrimmingPreference::IfcTrimmingPreference(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTrimmingPreference_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTrimmingPreference::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CARTESIAN", "PARAMETER", "UNSPECIFIED" }; return names[v]; } Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmingPreference::FromString(const std::string& s) { if (s == "CARTESIAN") return ::Ifc4::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; if (s == "PARAMETER") return ::Ifc4::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; if (s == "UNSPECIFIED") return ::Ifc4::IfcTrimmingPreference::IfcTrimmingPreference_UNSPECIFIED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTrimmingPreference::operator Ifc4::IfcTrimmingPreference::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::declaration() const { return *IFC4_IfcTubeBundleTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::Class() { return *IFC4_IfcTubeBundleTypeEnum_type; } Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcTubeBundleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcTubeBundleTypeEnum::ToString(Value v) { if ( v < 0 || v >= 3 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FINNED", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleTypeEnum::FromString(const std::string& s) { if (s == "FINNED") return ::Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleType_FINNED; if (s == "USERDEFINED") return ::Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcTubeBundleTypeEnum::IfcTubeBundleType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcTubeBundleTypeEnum::operator Ifc4::IfcTubeBundleTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcUnitEnum::declaration() const { return *IFC4_IfcUnitEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcUnitEnum::Class() { return *IFC4_IfcUnitEnum_type; } Ifc4::IfcUnitEnum::IfcUnitEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcUnitEnum::IfcUnitEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcUnitEnum::IfcUnitEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcUnitEnum::ToString(Value v) { if ( v < 0 || v >= 30 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ABSORBEDDOSEUNIT", "AMOUNTOFSUBSTANCEUNIT", "AREAUNIT", "DOSEEQUIVALENTUNIT", "ELECTRICCAPACITANCEUNIT", "ELECTRICCHARGEUNIT", "ELECTRICCONDUCTANCEUNIT", "ELECTRICCURRENTUNIT", "ELECTRICRESISTANCEUNIT", "ELECTRICVOLTAGEUNIT", "ENERGYUNIT", "FORCEUNIT", "FREQUENCYUNIT", "ILLUMINANCEUNIT", "INDUCTANCEUNIT", "LENGTHUNIT", "LUMINOUSFLUXUNIT", "LUMINOUSINTENSITYUNIT", "MAGNETICFLUXDENSITYUNIT", "MAGNETICFLUXUNIT", "MASSUNIT", "PLANEANGLEUNIT", "POWERUNIT", "PRESSUREUNIT", "RADIOACTIVITYUNIT", "SOLIDANGLEUNIT", "THERMODYNAMICTEMPERATUREUNIT", "TIMEUNIT", "VOLUMEUNIT", "USERDEFINED" }; return names[v]; } Ifc4::IfcUnitEnum::Value Ifc4::IfcUnitEnum::FromString(const std::string& s) { if (s == "ABSORBEDDOSEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ABSORBEDDOSEUNIT; if (s == "AMOUNTOFSUBSTANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_AMOUNTOFSUBSTANCEUNIT; if (s == "AREAUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_AREAUNIT; if (s == "DOSEEQUIVALENTUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_DOSEEQUIVALENTUNIT; if (s == "ELECTRICCAPACITANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICCAPACITANCEUNIT; if (s == "ELECTRICCHARGEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICCHARGEUNIT; if (s == "ELECTRICCONDUCTANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICCONDUCTANCEUNIT; if (s == "ELECTRICCURRENTUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICCURRENTUNIT; if (s == "ELECTRICRESISTANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICRESISTANCEUNIT; if (s == "ELECTRICVOLTAGEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ELECTRICVOLTAGEUNIT; if (s == "ENERGYUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ENERGYUNIT; if (s == "FORCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_FORCEUNIT; if (s == "FREQUENCYUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_FREQUENCYUNIT; if (s == "ILLUMINANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_ILLUMINANCEUNIT; if (s == "INDUCTANCEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_INDUCTANCEUNIT; if (s == "LENGTHUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_LENGTHUNIT; if (s == "LUMINOUSFLUXUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_LUMINOUSFLUXUNIT; if (s == "LUMINOUSINTENSITYUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_LUMINOUSINTENSITYUNIT; if (s == "MAGNETICFLUXDENSITYUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_MAGNETICFLUXDENSITYUNIT; if (s == "MAGNETICFLUXUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_MAGNETICFLUXUNIT; if (s == "MASSUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_MASSUNIT; if (s == "PLANEANGLEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_PLANEANGLEUNIT; if (s == "POWERUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_POWERUNIT; if (s == "PRESSUREUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_PRESSUREUNIT; if (s == "RADIOACTIVITYUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_RADIOACTIVITYUNIT; if (s == "SOLIDANGLEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_SOLIDANGLEUNIT; if (s == "THERMODYNAMICTEMPERATUREUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_THERMODYNAMICTEMPERATUREUNIT; if (s == "TIMEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_TIMEUNIT; if (s == "VOLUMEUNIT") return ::Ifc4::IfcUnitEnum::IfcUnit_VOLUMEUNIT; if (s == "USERDEFINED") return ::Ifc4::IfcUnitEnum::IfcUnit_USERDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcUnitEnum::operator Ifc4::IfcUnitEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::declaration() const { return *IFC4_IfcUnitaryControlElementTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::Class() { return *IFC4_IfcUnitaryControlElementTypeEnum_type; } Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryControlElementTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcUnitaryControlElementTypeEnum::ToString(Value v) { if ( v < 0 || v >= 10 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ALARMPANEL", "CONTROLPANEL", "GASDETECTIONPANEL", "INDICATORPANEL", "MIMICPANEL", "HUMIDISTAT", "THERMOSTAT", "WEATHERSTATION", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementTypeEnum::FromString(const std::string& s) { if (s == "ALARMPANEL") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_ALARMPANEL; if (s == "CONTROLPANEL") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_CONTROLPANEL; if (s == "GASDETECTIONPANEL") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_GASDETECTIONPANEL; if (s == "INDICATORPANEL") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_INDICATORPANEL; if (s == "MIMICPANEL") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_MIMICPANEL; if (s == "HUMIDISTAT") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_HUMIDISTAT; if (s == "THERMOSTAT") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_THERMOSTAT; if (s == "WEATHERSTATION") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_WEATHERSTATION; if (s == "USERDEFINED") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcUnitaryControlElementTypeEnum::operator Ifc4::IfcUnitaryControlElementTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::declaration() const { return *IFC4_IfcUnitaryEquipmentTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::Class() { return *IFC4_IfcUnitaryEquipmentTypeEnum_type; } Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryEquipmentTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(Value v) { if ( v < 0 || v >= 7 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRHANDLER", "AIRCONDITIONINGUNIT", "DEHUMIDIFIER", "SPLITSYSTEM", "ROOFTOPUNIT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(const std::string& s) { if (s == "AIRHANDLER") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRHANDLER; if (s == "AIRCONDITIONINGUNIT") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT; if (s == "DEHUMIDIFIER") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_DEHUMIDIFIER; if (s == "SPLITSYSTEM") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_SPLITSYSTEM; if (s == "ROOFTOPUNIT") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_ROOFTOPUNIT; if (s == "USERDEFINED") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcUnitaryEquipmentTypeEnum::operator Ifc4::IfcUnitaryEquipmentTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcValveTypeEnum::declaration() const { return *IFC4_IfcValveTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcValveTypeEnum::Class() { return *IFC4_IfcValveTypeEnum_type; } Ifc4::IfcValveTypeEnum::IfcValveTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcValveTypeEnum::IfcValveTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcValveTypeEnum::IfcValveTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcValveTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcValveTypeEnum::ToString(Value v) { if ( v < 0 || v >= 23 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "AIRRELEASE", "ANTIVACUUM", "CHANGEOVER", "CHECK", "COMMISSIONING", "DIVERTING", "DRAWOFFCOCK", "DOUBLECHECK", "DOUBLEREGULATING", "FAUCET", "FLUSHING", "GASCOCK", "GASTAP", "ISOLATING", "MIXING", "PRESSUREREDUCING", "PRESSURERELIEF", "REGULATING", "SAFETYCUTOFF", "STEAMTRAP", "STOPCOCK", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveTypeEnum::FromString(const std::string& s) { if (s == "AIRRELEASE") return ::Ifc4::IfcValveTypeEnum::IfcValveType_AIRRELEASE; if (s == "ANTIVACUUM") return ::Ifc4::IfcValveTypeEnum::IfcValveType_ANTIVACUUM; if (s == "CHANGEOVER") return ::Ifc4::IfcValveTypeEnum::IfcValveType_CHANGEOVER; if (s == "CHECK") return ::Ifc4::IfcValveTypeEnum::IfcValveType_CHECK; if (s == "COMMISSIONING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_COMMISSIONING; if (s == "DIVERTING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_DIVERTING; if (s == "DRAWOFFCOCK") return ::Ifc4::IfcValveTypeEnum::IfcValveType_DRAWOFFCOCK; if (s == "DOUBLECHECK") return ::Ifc4::IfcValveTypeEnum::IfcValveType_DOUBLECHECK; if (s == "DOUBLEREGULATING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_DOUBLEREGULATING; if (s == "FAUCET") return ::Ifc4::IfcValveTypeEnum::IfcValveType_FAUCET; if (s == "FLUSHING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_FLUSHING; if (s == "GASCOCK") return ::Ifc4::IfcValveTypeEnum::IfcValveType_GASCOCK; if (s == "GASTAP") return ::Ifc4::IfcValveTypeEnum::IfcValveType_GASTAP; if (s == "ISOLATING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_ISOLATING; if (s == "MIXING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_MIXING; if (s == "PRESSUREREDUCING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_PRESSUREREDUCING; if (s == "PRESSURERELIEF") return ::Ifc4::IfcValveTypeEnum::IfcValveType_PRESSURERELIEF; if (s == "REGULATING") return ::Ifc4::IfcValveTypeEnum::IfcValveType_REGULATING; if (s == "SAFETYCUTOFF") return ::Ifc4::IfcValveTypeEnum::IfcValveType_SAFETYCUTOFF; if (s == "STEAMTRAP") return ::Ifc4::IfcValveTypeEnum::IfcValveType_STEAMTRAP; if (s == "STOPCOCK") return ::Ifc4::IfcValveTypeEnum::IfcValveType_STOPCOCK; if (s == "USERDEFINED") return ::Ifc4::IfcValveTypeEnum::IfcValveType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcValveTypeEnum::IfcValveType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcValveTypeEnum::operator Ifc4::IfcValveTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::declaration() const { return *IFC4_IfcVibrationIsolatorTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::Class() { return *IFC4_IfcVibrationIsolatorTypeEnum_type; } Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcVibrationIsolatorTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcVibrationIsolatorTypeEnum::ToString(Value v) { if ( v < 0 || v >= 4 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "COMPRESSION", "SPRING", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorTypeEnum::FromString(const std::string& s) { if (s == "COMPRESSION") return ::Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_COMPRESSION; if (s == "SPRING") return ::Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_SPRING; if (s == "USERDEFINED") return ::Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcVibrationIsolatorTypeEnum::operator Ifc4::IfcVibrationIsolatorTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::declaration() const { return *IFC4_IfcVoidingFeatureTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::Class() { return *IFC4_IfcVoidingFeatureTypeEnum_type; } Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcVoidingFeatureTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcVoidingFeatureTypeEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "CUTOUT", "NOTCH", "HOLE", "MITER", "CHAMFER", "EDGE", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcVoidingFeatureTypeEnum::Value Ifc4::IfcVoidingFeatureTypeEnum::FromString(const std::string& s) { if (s == "CUTOUT") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_CUTOUT; if (s == "NOTCH") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_NOTCH; if (s == "HOLE") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_HOLE; if (s == "MITER") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_MITER; if (s == "CHAMFER") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_CHAMFER; if (s == "EDGE") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_EDGE; if (s == "USERDEFINED") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcVoidingFeatureTypeEnum::IfcVoidingFeatureType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcVoidingFeatureTypeEnum::operator Ifc4::IfcVoidingFeatureTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWallTypeEnum::declaration() const { return *IFC4_IfcWallTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWallTypeEnum::Class() { return *IFC4_IfcWallTypeEnum_type; } Ifc4::IfcWallTypeEnum::IfcWallTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWallTypeEnum::IfcWallTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWallTypeEnum::IfcWallTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWallTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWallTypeEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "MOVABLE", "PARAPET", "PARTITIONING", "PLUMBINGWALL", "SHEAR", "SOLIDWALL", "STANDARD", "POLYGONAL", "ELEMENTEDWALL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallTypeEnum::FromString(const std::string& s) { if (s == "MOVABLE") return ::Ifc4::IfcWallTypeEnum::IfcWallType_MOVABLE; if (s == "PARAPET") return ::Ifc4::IfcWallTypeEnum::IfcWallType_PARAPET; if (s == "PARTITIONING") return ::Ifc4::IfcWallTypeEnum::IfcWallType_PARTITIONING; if (s == "PLUMBINGWALL") return ::Ifc4::IfcWallTypeEnum::IfcWallType_PLUMBINGWALL; if (s == "SHEAR") return ::Ifc4::IfcWallTypeEnum::IfcWallType_SHEAR; if (s == "SOLIDWALL") return ::Ifc4::IfcWallTypeEnum::IfcWallType_SOLIDWALL; if (s == "STANDARD") return ::Ifc4::IfcWallTypeEnum::IfcWallType_STANDARD; if (s == "POLYGONAL") return ::Ifc4::IfcWallTypeEnum::IfcWallType_POLYGONAL; if (s == "ELEMENTEDWALL") return ::Ifc4::IfcWallTypeEnum::IfcWallType_ELEMENTEDWALL; if (s == "USERDEFINED") return ::Ifc4::IfcWallTypeEnum::IfcWallType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWallTypeEnum::IfcWallType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWallTypeEnum::operator Ifc4::IfcWallTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::declaration() const { return *IFC4_IfcWasteTerminalTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::Class() { return *IFC4_IfcWasteTerminalTypeEnum_type; } Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWasteTerminalTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWasteTerminalTypeEnum::ToString(Value v) { if ( v < 0 || v >= 9 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FLOORTRAP", "FLOORWASTE", "GULLYSUMP", "GULLYTRAP", "ROOFDRAIN", "WASTEDISPOSALUNIT", "WASTETRAP", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalTypeEnum::FromString(const std::string& s) { if (s == "FLOORTRAP") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORTRAP; if (s == "FLOORWASTE") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_FLOORWASTE; if (s == "GULLYSUMP") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYSUMP; if (s == "GULLYTRAP") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_GULLYTRAP; if (s == "ROOFDRAIN") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_ROOFDRAIN; if (s == "WASTEDISPOSALUNIT") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTEDISPOSALUNIT; if (s == "WASTETRAP") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_WASTETRAP; if (s == "USERDEFINED") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWasteTerminalTypeEnum::IfcWasteTerminalType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWasteTerminalTypeEnum::operator Ifc4::IfcWasteTerminalTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::declaration() const { return *IFC4_IfcWindowPanelOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::Class() { return *IFC4_IfcWindowPanelOperationEnum_type; } Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowPanelOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowPanelOperationEnum::ToString(Value v) { if ( v < 0 || v >= 14 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SIDEHUNGRIGHTHAND", "SIDEHUNGLEFTHAND", "TILTANDTURNRIGHTHAND", "TILTANDTURNLEFTHAND", "TOPHUNG", "BOTTOMHUNG", "PIVOTHORIZONTAL", "PIVOTVERTICAL", "SLIDINGHORIZONTAL", "SLIDINGVERTICAL", "REMOVABLECASEMENT", "FIXEDCASEMENT", "OTHEROPERATION", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelOperationEnum::FromString(const std::string& s) { if (s == "SIDEHUNGRIGHTHAND") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGRIGHTHAND; if (s == "SIDEHUNGLEFTHAND") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SIDEHUNGLEFTHAND; if (s == "TILTANDTURNRIGHTHAND") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNRIGHTHAND; if (s == "TILTANDTURNLEFTHAND") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TILTANDTURNLEFTHAND; if (s == "TOPHUNG") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_TOPHUNG; if (s == "BOTTOMHUNG") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_BOTTOMHUNG; if (s == "PIVOTHORIZONTAL") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTHORIZONTAL; if (s == "PIVOTVERTICAL") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_PIVOTVERTICAL; if (s == "SLIDINGHORIZONTAL") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGHORIZONTAL; if (s == "SLIDINGVERTICAL") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_SLIDINGVERTICAL; if (s == "REMOVABLECASEMENT") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_REMOVABLECASEMENT; if (s == "FIXEDCASEMENT") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_FIXEDCASEMENT; if (s == "OTHEROPERATION") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_OTHEROPERATION; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowPanelOperationEnum::IfcWindowPanelOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowPanelOperationEnum::operator Ifc4::IfcWindowPanelOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::declaration() const { return *IFC4_IfcWindowPanelPositionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::Class() { return *IFC4_IfcWindowPanelPositionEnum_type; } Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowPanelPositionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowPanelPositionEnum::ToString(Value v) { if ( v < 0 || v >= 6 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "LEFT", "MIDDLE", "RIGHT", "BOTTOM", "TOP", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelPositionEnum::FromString(const std::string& s) { if (s == "LEFT") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_LEFT; if (s == "MIDDLE") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_MIDDLE; if (s == "RIGHT") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_RIGHT; if (s == "BOTTOM") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_BOTTOM; if (s == "TOP") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_TOP; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowPanelPositionEnum::IfcWindowPanelPosition_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowPanelPositionEnum::operator Ifc4::IfcWindowPanelPositionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::declaration() const { return *IFC4_IfcWindowStyleConstructionEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::Class() { return *IFC4_IfcWindowStyleConstructionEnum_type; } Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowStyleConstructionEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowStyleConstructionEnum::ToString(Value v) { if ( v < 0 || v >= 8 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ALUMINIUM", "HIGH_GRADE_STEEL", "STEEL", "WOOD", "ALUMINIUM_WOOD", "PLASTIC", "OTHER_CONSTRUCTION", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyleConstructionEnum::FromString(const std::string& s) { if (s == "ALUMINIUM") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM; if (s == "HIGH_GRADE_STEEL") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_HIGH_GRADE_STEEL; if (s == "STEEL") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_STEEL; if (s == "WOOD") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_WOOD; if (s == "ALUMINIUM_WOOD") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_ALUMINIUM_WOOD; if (s == "PLASTIC") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_PLASTIC; if (s == "OTHER_CONSTRUCTION") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_OTHER_CONSTRUCTION; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowStyleConstructionEnum::IfcWindowStyleConstruction_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowStyleConstructionEnum::operator Ifc4::IfcWindowStyleConstructionEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::declaration() const { return *IFC4_IfcWindowStyleOperationEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::Class() { return *IFC4_IfcWindowStyleOperationEnum_type; } Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowStyleOperationEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowStyleOperationEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SINGLE_PANEL", "DOUBLE_PANEL_VERTICAL", "DOUBLE_PANEL_HORIZONTAL", "TRIPLE_PANEL_VERTICAL", "TRIPLE_PANEL_BOTTOM", "TRIPLE_PANEL_TOP", "TRIPLE_PANEL_LEFT", "TRIPLE_PANEL_RIGHT", "TRIPLE_PANEL_HORIZONTAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyleOperationEnum::FromString(const std::string& s) { if (s == "SINGLE_PANEL") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_SINGLE_PANEL; if (s == "DOUBLE_PANEL_VERTICAL") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL; if (s == "DOUBLE_PANEL_HORIZONTAL") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL; if (s == "TRIPLE_PANEL_VERTICAL") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL; if (s == "TRIPLE_PANEL_BOTTOM") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM; if (s == "TRIPLE_PANEL_TOP") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_TOP; if (s == "TRIPLE_PANEL_LEFT") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_LEFT; if (s == "TRIPLE_PANEL_RIGHT") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT; if (s == "TRIPLE_PANEL_HORIZONTAL") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL; if (s == "USERDEFINED") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowStyleOperationEnum::IfcWindowStyleOperation_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowStyleOperationEnum::operator Ifc4::IfcWindowStyleOperationEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowTypeEnum::declaration() const { return *IFC4_IfcWindowTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowTypeEnum::Class() { return *IFC4_IfcWindowTypeEnum_type; } Ifc4::IfcWindowTypeEnum::IfcWindowTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowTypeEnum::IfcWindowTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowTypeEnum::IfcWindowTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "WINDOW", "SKYLIGHT", "LIGHTDOME", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowTypeEnum::FromString(const std::string& s) { if (s == "WINDOW") return ::Ifc4::IfcWindowTypeEnum::IfcWindowType_WINDOW; if (s == "SKYLIGHT") return ::Ifc4::IfcWindowTypeEnum::IfcWindowType_SKYLIGHT; if (s == "LIGHTDOME") return ::Ifc4::IfcWindowTypeEnum::IfcWindowType_LIGHTDOME; if (s == "USERDEFINED") return ::Ifc4::IfcWindowTypeEnum::IfcWindowType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowTypeEnum::IfcWindowType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowTypeEnum::operator Ifc4::IfcWindowTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::declaration() const { return *IFC4_IfcWindowTypePartitioningEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::Class() { return *IFC4_IfcWindowTypePartitioningEnum_type; } Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWindowTypePartitioningEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWindowTypePartitioningEnum::ToString(Value v) { if ( v < 0 || v >= 11 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "SINGLE_PANEL", "DOUBLE_PANEL_VERTICAL", "DOUBLE_PANEL_HORIZONTAL", "TRIPLE_PANEL_VERTICAL", "TRIPLE_PANEL_BOTTOM", "TRIPLE_PANEL_TOP", "TRIPLE_PANEL_LEFT", "TRIPLE_PANEL_RIGHT", "TRIPLE_PANEL_HORIZONTAL", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowTypePartitioningEnum::FromString(const std::string& s) { if (s == "SINGLE_PANEL") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_SINGLE_PANEL; if (s == "DOUBLE_PANEL_VERTICAL") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL; if (s == "DOUBLE_PANEL_HORIZONTAL") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL; if (s == "TRIPLE_PANEL_VERTICAL") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL; if (s == "TRIPLE_PANEL_BOTTOM") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM; if (s == "TRIPLE_PANEL_TOP") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_TOP; if (s == "TRIPLE_PANEL_LEFT") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT; if (s == "TRIPLE_PANEL_RIGHT") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT; if (s == "TRIPLE_PANEL_HORIZONTAL") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL; if (s == "USERDEFINED") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWindowTypePartitioningEnum::operator Ifc4::IfcWindowTypePartitioningEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::declaration() const { return *IFC4_IfcWorkCalendarTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::Class() { return *IFC4_IfcWorkCalendarTypeEnum_type; } Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkCalendarTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWorkCalendarTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "FIRSTSHIFT", "SECONDSHIFT", "THIRDSHIFT", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWorkCalendarTypeEnum::Value Ifc4::IfcWorkCalendarTypeEnum::FromString(const std::string& s) { if (s == "FIRSTSHIFT") return ::Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarType_FIRSTSHIFT; if (s == "SECONDSHIFT") return ::Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarType_SECONDSHIFT; if (s == "THIRDSHIFT") return ::Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarType_THIRDSHIFT; if (s == "USERDEFINED") return ::Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWorkCalendarTypeEnum::IfcWorkCalendarType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWorkCalendarTypeEnum::operator Ifc4::IfcWorkCalendarTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::declaration() const { return *IFC4_IfcWorkPlanTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::Class() { return *IFC4_IfcWorkPlanTypeEnum_type; } Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkPlanTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWorkPlanTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ACTUAL", "BASELINE", "PLANNED", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWorkPlanTypeEnum::Value Ifc4::IfcWorkPlanTypeEnum::FromString(const std::string& s) { if (s == "ACTUAL") return ::Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanType_ACTUAL; if (s == "BASELINE") return ::Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanType_BASELINE; if (s == "PLANNED") return ::Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanType_PLANNED; if (s == "USERDEFINED") return ::Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWorkPlanTypeEnum::IfcWorkPlanType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWorkPlanTypeEnum::operator Ifc4::IfcWorkPlanTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::declaration() const { return *IFC4_IfcWorkScheduleTypeEnum_type; } const IfcParse::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::Class() { return *IFC4_IfcWorkScheduleTypeEnum_type; } Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(Value v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,ToString(v))); data_->setArgument(0,attr); } Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum(const std::string& v) { data_ = new IfcEntityInstanceData(IFC4_IfcWorkScheduleTypeEnum_type); IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(FromString(v),ToString(FromString(v)))); data_->setArgument(0,attr); } const char* Ifc4::IfcWorkScheduleTypeEnum::ToString(Value v) { if ( v < 0 || v >= 5 ) throw IfcException("Unable to find keyword in schema"); const char* names[] = { "ACTUAL", "BASELINE", "PLANNED", "USERDEFINED", "NOTDEFINED" }; return names[v]; } Ifc4::IfcWorkScheduleTypeEnum::Value Ifc4::IfcWorkScheduleTypeEnum::FromString(const std::string& s) { if (s == "ACTUAL") return ::Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleType_ACTUAL; if (s == "BASELINE") return ::Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleType_BASELINE; if (s == "PLANNED") return ::Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleType_PLANNED; if (s == "USERDEFINED") return ::Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleType_USERDEFINED; if (s == "NOTDEFINED") return ::Ifc4::IfcWorkScheduleTypeEnum::IfcWorkScheduleType_NOTDEFINED; throw IfcException("Unable to find keyword in schema: " + s); } Ifc4::IfcWorkScheduleTypeEnum::operator Ifc4::IfcWorkScheduleTypeEnum::Value() const { return FromString((std::string) *data_->getArgument(0)); } const IfcParse::select_type& Ifc4::IfcActorSelect::Class() { return *IFC4_IfcActorSelect_type; } const IfcParse::select_type& Ifc4::IfcAppliedValueSelect::Class() { return *IFC4_IfcAppliedValueSelect_type; } const IfcParse::select_type& Ifc4::IfcAxis2Placement::Class() { return *IFC4_IfcAxis2Placement_type; } const IfcParse::select_type& Ifc4::IfcBendingParameterSelect::Class() { return *IFC4_IfcBendingParameterSelect_type; } const IfcParse::select_type& Ifc4::IfcBooleanOperand::Class() { return *IFC4_IfcBooleanOperand_type; } const IfcParse::select_type& Ifc4::IfcClassificationReferenceSelect::Class() { return *IFC4_IfcClassificationReferenceSelect_type; } const IfcParse::select_type& Ifc4::IfcClassificationSelect::Class() { return *IFC4_IfcClassificationSelect_type; } const IfcParse::select_type& Ifc4::IfcColour::Class() { return *IFC4_IfcColour_type; } const IfcParse::select_type& Ifc4::IfcColourOrFactor::Class() { return *IFC4_IfcColourOrFactor_type; } const IfcParse::select_type& Ifc4::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4_IfcCoordinateReferenceSystemSelect_type; } const IfcParse::select_type& Ifc4::IfcCsgSelect::Class() { return *IFC4_IfcCsgSelect_type; } const IfcParse::select_type& Ifc4::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4_IfcCurveFontOrScaledCurveFontSelect_type; } const IfcParse::select_type& Ifc4::IfcCurveOnSurface::Class() { return *IFC4_IfcCurveOnSurface_type; } const IfcParse::select_type& Ifc4::IfcCurveOrEdgeCurve::Class() { return *IFC4_IfcCurveOrEdgeCurve_type; } const IfcParse::select_type& Ifc4::IfcCurveStyleFontSelect::Class() { return *IFC4_IfcCurveStyleFontSelect_type; } const IfcParse::select_type& Ifc4::IfcDefinitionSelect::Class() { return *IFC4_IfcDefinitionSelect_type; } const IfcParse::select_type& Ifc4::IfcDerivedMeasureValue::Class() { return *IFC4_IfcDerivedMeasureValue_type; } const IfcParse::select_type& Ifc4::IfcDocumentSelect::Class() { return *IFC4_IfcDocumentSelect_type; } const IfcParse::select_type& Ifc4::IfcFillStyleSelect::Class() { return *IFC4_IfcFillStyleSelect_type; } const IfcParse::select_type& Ifc4::IfcGeometricSetSelect::Class() { return *IFC4_IfcGeometricSetSelect_type; } const IfcParse::select_type& Ifc4::IfcGridPlacementDirectionSelect::Class() { return *IFC4_IfcGridPlacementDirectionSelect_type; } const IfcParse::select_type& Ifc4::IfcHatchLineDistanceSelect::Class() { return *IFC4_IfcHatchLineDistanceSelect_type; } const IfcParse::select_type& Ifc4::IfcLayeredItem::Class() { return *IFC4_IfcLayeredItem_type; } const IfcParse::select_type& Ifc4::IfcLibrarySelect::Class() { return *IFC4_IfcLibrarySelect_type; } const IfcParse::select_type& Ifc4::IfcLightDistributionDataSourceSelect::Class() { return *IFC4_IfcLightDistributionDataSourceSelect_type; } const IfcParse::select_type& Ifc4::IfcMaterialSelect::Class() { return *IFC4_IfcMaterialSelect_type; } const IfcParse::select_type& Ifc4::IfcMeasureValue::Class() { return *IFC4_IfcMeasureValue_type; } const IfcParse::select_type& Ifc4::IfcMetricValueSelect::Class() { return *IFC4_IfcMetricValueSelect_type; } const IfcParse::select_type& Ifc4::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type; } const IfcParse::select_type& Ifc4::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfSubgradeReactionSelect_type; } const IfcParse::select_type& Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; } const IfcParse::select_type& Ifc4::IfcObjectReferenceSelect::Class() { return *IFC4_IfcObjectReferenceSelect_type; } const IfcParse::select_type& Ifc4::IfcPointOrVertexPoint::Class() { return *IFC4_IfcPointOrVertexPoint_type; } const IfcParse::select_type& Ifc4::IfcPresentationStyleSelect::Class() { return *IFC4_IfcPresentationStyleSelect_type; } const IfcParse::select_type& Ifc4::IfcProcessSelect::Class() { return *IFC4_IfcProcessSelect_type; } const IfcParse::select_type& Ifc4::IfcProductRepresentationSelect::Class() { return *IFC4_IfcProductRepresentationSelect_type; } const IfcParse::select_type& Ifc4::IfcProductSelect::Class() { return *IFC4_IfcProductSelect_type; } const IfcParse::select_type& Ifc4::IfcPropertySetDefinitionSelect::Class() { return *IFC4_IfcPropertySetDefinitionSelect_type; } const IfcParse::select_type& Ifc4::IfcResourceObjectSelect::Class() { return *IFC4_IfcResourceObjectSelect_type; } const IfcParse::select_type& Ifc4::IfcResourceSelect::Class() { return *IFC4_IfcResourceSelect_type; } const IfcParse::select_type& Ifc4::IfcRotationalStiffnessSelect::Class() { return *IFC4_IfcRotationalStiffnessSelect_type; } const IfcParse::select_type& Ifc4::IfcSegmentIndexSelect::Class() { return *IFC4_IfcSegmentIndexSelect_type; } const IfcParse::select_type& Ifc4::IfcShell::Class() { return *IFC4_IfcShell_type; } const IfcParse::select_type& Ifc4::IfcSimpleValue::Class() { return *IFC4_IfcSimpleValue_type; } const IfcParse::select_type& Ifc4::IfcSizeSelect::Class() { return *IFC4_IfcSizeSelect_type; } const IfcParse::select_type& Ifc4::IfcSolidOrShell::Class() { return *IFC4_IfcSolidOrShell_type; } const IfcParse::select_type& Ifc4::IfcSpaceBoundarySelect::Class() { return *IFC4_IfcSpaceBoundarySelect_type; } const IfcParse::select_type& Ifc4::IfcSpecularHighlightSelect::Class() { return *IFC4_IfcSpecularHighlightSelect_type; } const IfcParse::select_type& Ifc4::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4_IfcStructuralActivityAssignmentSelect_type; } const IfcParse::select_type& Ifc4::IfcStyleAssignmentSelect::Class() { return *IFC4_IfcStyleAssignmentSelect_type; } const IfcParse::select_type& Ifc4::IfcSurfaceOrFaceSurface::Class() { return *IFC4_IfcSurfaceOrFaceSurface_type; } const IfcParse::select_type& Ifc4::IfcSurfaceStyleElementSelect::Class() { return *IFC4_IfcSurfaceStyleElementSelect_type; } const IfcParse::select_type& Ifc4::IfcTextFontSelect::Class() { return *IFC4_IfcTextFontSelect_type; } const IfcParse::select_type& Ifc4::IfcTimeOrRatioSelect::Class() { return *IFC4_IfcTimeOrRatioSelect_type; } const IfcParse::select_type& Ifc4::IfcTranslationalStiffnessSelect::Class() { return *IFC4_IfcTranslationalStiffnessSelect_type; } const IfcParse::select_type& Ifc4::IfcTrimmingSelect::Class() { return *IFC4_IfcTrimmingSelect_type; } const IfcParse::select_type& Ifc4::IfcUnit::Class() { return *IFC4_IfcUnit_type; } const IfcParse::select_type& Ifc4::IfcValue::Class() { return *IFC4_IfcValue_type; } const IfcParse::select_type& Ifc4::IfcVectorOrDirection::Class() { return *IFC4_IfcVectorOrDirection_type; } const IfcParse::select_type& Ifc4::IfcWarpingStiffnessSelect::Class() { return *IFC4_IfcWarpingStiffnessSelect_type; } // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::Class() { return *IFC4_IfcAbsorbedDoseMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::declaration() const { return *IFC4_IfcAbsorbedDoseMeasure_type; } Ifc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAbsorbedDoseMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAbsorbedDoseMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4::IfcAccelerationMeasure::Class() { return *IFC4_IfcAccelerationMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAccelerationMeasure::declaration() const { return *IFC4_IfcAccelerationMeasure_type; } Ifc4::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAccelerationMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAccelerationMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4::IfcAmountOfSubstanceMeasure::Class() { return *IFC4_IfcAmountOfSubstanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAmountOfSubstanceMeasure::declaration() const { return *IFC4_IfcAmountOfSubstanceMeasure_type; } Ifc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAmountOfSubstanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAmountOfSubstanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4::IfcAngularVelocityMeasure::Class() { return *IFC4_IfcAngularVelocityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAngularVelocityMeasure::declaration() const { return *IFC4_IfcAngularVelocityMeasure_type; } Ifc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAngularVelocityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAngularVelocityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4::IfcArcIndex::Class() { return *IFC4_IfcArcIndex_type; } const IfcParse::type_declaration& Ifc4::IfcArcIndex::declaration() const { return *IFC4_IfcArcIndex_type; } Ifc4::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) { data_ = new IfcEntityInstanceData(IFC4_IfcArcIndex_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return *data_->getArgument(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4::IfcAreaDensityMeasure::Class() { return *IFC4_IfcAreaDensityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAreaDensityMeasure::declaration() const { return *IFC4_IfcAreaDensityMeasure_type; } Ifc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAreaDensityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAreaDensityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4::IfcAreaMeasure::Class() { return *IFC4_IfcAreaMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcAreaMeasure::declaration() const { return *IFC4_IfcAreaMeasure_type; } Ifc4::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcAreaMeasure::IfcAreaMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcAreaMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcAreaMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4::IfcBinary::Class() { return *IFC4_IfcBinary_type; } const IfcParse::type_declaration& Ifc4::IfcBinary::declaration() const { return *IFC4_IfcBinary_type; } Ifc4::IfcBinary::IfcBinary(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) { data_ = new IfcEntityInstanceData(IFC4_IfcBinary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcBinary::operator boost::dynamic_bitset<>() const { return *data_->getArgument(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4::IfcBoolean::Class() { return *IFC4_IfcBoolean_type; } const IfcParse::type_declaration& Ifc4::IfcBoolean::declaration() const { return *IFC4_IfcBoolean_type; } Ifc4::IfcBoolean::IfcBoolean(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcBoolean::IfcBoolean(bool v) { data_ = new IfcEntityInstanceData(IFC4_IfcBoolean_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcBoolean::operator bool() const { return *data_->getArgument(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4::IfcBoxAlignment::Class() { return *IFC4_IfcBoxAlignment_type; } const IfcParse::type_declaration& Ifc4::IfcBoxAlignment::declaration() const { return *IFC4_IfcBoxAlignment_type; } Ifc4::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData* e) : IfcLabel((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcBoxAlignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcBoxAlignment::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4::IfcCardinalPointReference::Class() { return *IFC4_IfcCardinalPointReference_type; } const IfcParse::type_declaration& Ifc4::IfcCardinalPointReference::declaration() const { return *IFC4_IfcCardinalPointReference_type; } Ifc4::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCardinalPointReference::IfcCardinalPointReference(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcCardinalPointReference_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcCardinalPointReference::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4::IfcComplexNumber::Class() { return *IFC4_IfcComplexNumber_type; } const IfcParse::type_declaration& Ifc4::IfcComplexNumber::declaration() const { return *IFC4_IfcComplexNumber_type; } Ifc4::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) { data_ = new IfcEntityInstanceData(IFC4_IfcComplexNumber_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return *data_->getArgument(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcCompoundPlaneAngleMeasure::Class() { return *IFC4_IfcCompoundPlaneAngleMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcCompoundPlaneAngleMeasure::declaration() const { return *IFC4_IfcCompoundPlaneAngleMeasure_type; } Ifc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) { data_ = new IfcEntityInstanceData(IFC4_IfcCompoundPlaneAngleMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return *data_->getArgument(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4::IfcContextDependentMeasure::Class() { return *IFC4_IfcContextDependentMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcContextDependentMeasure::declaration() const { return *IFC4_IfcContextDependentMeasure_type; } Ifc4::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcContextDependentMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcContextDependentMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4::IfcCountMeasure::Class() { return *IFC4_IfcCountMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcCountMeasure::declaration() const { return *IFC4_IfcCountMeasure_type; } Ifc4::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCountMeasure::IfcCountMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcCountMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcCountMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4::IfcCurvatureMeasure::Class() { return *IFC4_IfcCurvatureMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcCurvatureMeasure::declaration() const { return *IFC4_IfcCurvatureMeasure_type; } Ifc4::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcCurvatureMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcCurvatureMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4::IfcDate::Class() { return *IFC4_IfcDate_type; } const IfcParse::type_declaration& Ifc4::IfcDate::declaration() const { return *IFC4_IfcDate_type; } Ifc4::IfcDate::IfcDate(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDate::IfcDate(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcDate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDate::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4::IfcDateTime::Class() { return *IFC4_IfcDateTime_type; } const IfcParse::type_declaration& Ifc4::IfcDateTime::declaration() const { return *IFC4_IfcDateTime_type; } Ifc4::IfcDateTime::IfcDateTime(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDateTime::IfcDateTime(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcDateTime_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDateTime::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4::IfcDayInMonthNumber::Class() { return *IFC4_IfcDayInMonthNumber_type; } const IfcParse::type_declaration& Ifc4::IfcDayInMonthNumber::declaration() const { return *IFC4_IfcDayInMonthNumber_type; } Ifc4::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcDayInMonthNumber_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDayInMonthNumber::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4::IfcDayInWeekNumber::Class() { return *IFC4_IfcDayInWeekNumber_type; } const IfcParse::type_declaration& Ifc4::IfcDayInWeekNumber::declaration() const { return *IFC4_IfcDayInWeekNumber_type; } Ifc4::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcDayInWeekNumber_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDayInWeekNumber::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4::IfcDescriptiveMeasure::Class() { return *IFC4_IfcDescriptiveMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcDescriptiveMeasure::declaration() const { return *IFC4_IfcDescriptiveMeasure_type; } Ifc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcDescriptiveMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDescriptiveMeasure::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4::IfcDimensionCount::Class() { return *IFC4_IfcDimensionCount_type; } const IfcParse::type_declaration& Ifc4::IfcDimensionCount::declaration() const { return *IFC4_IfcDimensionCount_type; } Ifc4::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDimensionCount::IfcDimensionCount(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcDimensionCount_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDimensionCount::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4::IfcDoseEquivalentMeasure::Class() { return *IFC4_IfcDoseEquivalentMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcDoseEquivalentMeasure::declaration() const { return *IFC4_IfcDoseEquivalentMeasure_type; } Ifc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcDoseEquivalentMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDoseEquivalentMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4::IfcDuration::Class() { return *IFC4_IfcDuration_type; } const IfcParse::type_declaration& Ifc4::IfcDuration::declaration() const { return *IFC4_IfcDuration_type; } Ifc4::IfcDuration::IfcDuration(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDuration::IfcDuration(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcDuration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDuration::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4::IfcDynamicViscosityMeasure::Class() { return *IFC4_IfcDynamicViscosityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcDynamicViscosityMeasure::declaration() const { return *IFC4_IfcDynamicViscosityMeasure_type; } Ifc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcDynamicViscosityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcDynamicViscosityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricCapacitanceMeasure::Class() { return *IFC4_IfcElectricCapacitanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricCapacitanceMeasure::declaration() const { return *IFC4_IfcElectricCapacitanceMeasure_type; } Ifc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricCapacitanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricCapacitanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4::IfcElectricChargeMeasure::Class() { return *IFC4_IfcElectricChargeMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricChargeMeasure::declaration() const { return *IFC4_IfcElectricChargeMeasure_type; } Ifc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricChargeMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricChargeMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricConductanceMeasure::Class() { return *IFC4_IfcElectricConductanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricConductanceMeasure::declaration() const { return *IFC4_IfcElectricConductanceMeasure_type; } Ifc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricConductanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricConductanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4::IfcElectricCurrentMeasure::Class() { return *IFC4_IfcElectricCurrentMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricCurrentMeasure::declaration() const { return *IFC4_IfcElectricCurrentMeasure_type; } Ifc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricCurrentMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricCurrentMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricResistanceMeasure::Class() { return *IFC4_IfcElectricResistanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricResistanceMeasure::declaration() const { return *IFC4_IfcElectricResistanceMeasure_type; } Ifc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricResistanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricResistanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4::IfcElectricVoltageMeasure::Class() { return *IFC4_IfcElectricVoltageMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcElectricVoltageMeasure::declaration() const { return *IFC4_IfcElectricVoltageMeasure_type; } Ifc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcElectricVoltageMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcElectricVoltageMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4::IfcEnergyMeasure::Class() { return *IFC4_IfcEnergyMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcEnergyMeasure::declaration() const { return *IFC4_IfcEnergyMeasure_type; } Ifc4::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcEnergyMeasure::IfcEnergyMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcEnergyMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcEnergyMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4::IfcFontStyle::Class() { return *IFC4_IfcFontStyle_type; } const IfcParse::type_declaration& Ifc4::IfcFontStyle::declaration() const { return *IFC4_IfcFontStyle_type; } Ifc4::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFontStyle::IfcFontStyle(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcFontStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcFontStyle::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4::IfcFontVariant::Class() { return *IFC4_IfcFontVariant_type; } const IfcParse::type_declaration& Ifc4::IfcFontVariant::declaration() const { return *IFC4_IfcFontVariant_type; } Ifc4::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFontVariant::IfcFontVariant(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcFontVariant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcFontVariant::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4::IfcFontWeight::Class() { return *IFC4_IfcFontWeight_type; } const IfcParse::type_declaration& Ifc4::IfcFontWeight::declaration() const { return *IFC4_IfcFontWeight_type; } Ifc4::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFontWeight::IfcFontWeight(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcFontWeight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcFontWeight::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4::IfcForceMeasure::Class() { return *IFC4_IfcForceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcForceMeasure::declaration() const { return *IFC4_IfcForceMeasure_type; } Ifc4::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcForceMeasure::IfcForceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcForceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcForceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4::IfcFrequencyMeasure::Class() { return *IFC4_IfcFrequencyMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcFrequencyMeasure::declaration() const { return *IFC4_IfcFrequencyMeasure_type; } Ifc4::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcFrequencyMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcFrequencyMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4::IfcGloballyUniqueId::Class() { return *IFC4_IfcGloballyUniqueId_type; } const IfcParse::type_declaration& Ifc4::IfcGloballyUniqueId::declaration() const { return *IFC4_IfcGloballyUniqueId_type; } Ifc4::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcGloballyUniqueId_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcGloballyUniqueId::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4::IfcHeatFluxDensityMeasure::Class() { return *IFC4_IfcHeatFluxDensityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcHeatFluxDensityMeasure::declaration() const { return *IFC4_IfcHeatFluxDensityMeasure_type; } Ifc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcHeatFluxDensityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcHeatFluxDensityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4::IfcHeatingValueMeasure::Class() { return *IFC4_IfcHeatingValueMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcHeatingValueMeasure::declaration() const { return *IFC4_IfcHeatingValueMeasure_type; } Ifc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcHeatingValueMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcHeatingValueMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4::IfcIdentifier::Class() { return *IFC4_IfcIdentifier_type; } const IfcParse::type_declaration& Ifc4::IfcIdentifier::declaration() const { return *IFC4_IfcIdentifier_type; } Ifc4::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcIdentifier::IfcIdentifier(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcIdentifier_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcIdentifier::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4::IfcIlluminanceMeasure::Class() { return *IFC4_IfcIlluminanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcIlluminanceMeasure::declaration() const { return *IFC4_IfcIlluminanceMeasure_type; } Ifc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcIlluminanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcIlluminanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4::IfcInductanceMeasure::Class() { return *IFC4_IfcInductanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcInductanceMeasure::declaration() const { return *IFC4_IfcInductanceMeasure_type; } Ifc4::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcInductanceMeasure::IfcInductanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcInductanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcInductanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4::IfcInteger::Class() { return *IFC4_IfcInteger_type; } const IfcParse::type_declaration& Ifc4::IfcInteger::declaration() const { return *IFC4_IfcInteger_type; } Ifc4::IfcInteger::IfcInteger(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcInteger::IfcInteger(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcInteger_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcInteger::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4::IfcIntegerCountRateMeasure::Class() { return *IFC4_IfcIntegerCountRateMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcIntegerCountRateMeasure::declaration() const { return *IFC4_IfcIntegerCountRateMeasure_type; } Ifc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcIntegerCountRateMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcIntegerCountRateMeasure::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4::IfcIonConcentrationMeasure::Class() { return *IFC4_IfcIonConcentrationMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcIonConcentrationMeasure::declaration() const { return *IFC4_IfcIonConcentrationMeasure_type; } Ifc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcIonConcentrationMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcIonConcentrationMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4::IfcIsothermalMoistureCapacityMeasure::Class() { return *IFC4_IfcIsothermalMoistureCapacityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *IFC4_IfcIsothermalMoistureCapacityMeasure_type; } Ifc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcIsothermalMoistureCapacityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4::IfcKinematicViscosityMeasure::Class() { return *IFC4_IfcKinematicViscosityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcKinematicViscosityMeasure::declaration() const { return *IFC4_IfcKinematicViscosityMeasure_type; } Ifc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcKinematicViscosityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcKinematicViscosityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4::IfcLabel::Class() { return *IFC4_IfcLabel_type; } const IfcParse::type_declaration& Ifc4::IfcLabel::declaration() const { return *IFC4_IfcLabel_type; } Ifc4::IfcLabel::IfcLabel(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLabel::IfcLabel(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcLabel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLabel::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4::IfcLanguageId::Class() { return *IFC4_IfcLanguageId_type; } const IfcParse::type_declaration& Ifc4::IfcLanguageId::declaration() const { return *IFC4_IfcLanguageId_type; } Ifc4::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData* e) : IfcIdentifier((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcLanguageId_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLanguageId::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4::IfcLengthMeasure::Class() { return *IFC4_IfcLengthMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLengthMeasure::declaration() const { return *IFC4_IfcLengthMeasure_type; } Ifc4::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLengthMeasure::IfcLengthMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLengthMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLengthMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4::IfcLineIndex::Class() { return *IFC4_IfcLineIndex_type; } const IfcParse::type_declaration& Ifc4::IfcLineIndex::declaration() const { return *IFC4_IfcLineIndex_type; } Ifc4::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) { data_ = new IfcEntityInstanceData(IFC4_IfcLineIndex_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return *data_->getArgument(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4::IfcLinearForceMeasure::Class() { return *IFC4_IfcLinearForceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLinearForceMeasure::declaration() const { return *IFC4_IfcLinearForceMeasure_type; } Ifc4::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLinearForceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLinearForceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4::IfcLinearMomentMeasure::Class() { return *IFC4_IfcLinearMomentMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLinearMomentMeasure::declaration() const { return *IFC4_IfcLinearMomentMeasure_type; } Ifc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLinearMomentMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLinearMomentMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4::IfcLinearStiffnessMeasure::Class() { return *IFC4_IfcLinearStiffnessMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLinearStiffnessMeasure::declaration() const { return *IFC4_IfcLinearStiffnessMeasure_type; } Ifc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLinearStiffnessMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLinearStiffnessMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4::IfcLinearVelocityMeasure::Class() { return *IFC4_IfcLinearVelocityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLinearVelocityMeasure::declaration() const { return *IFC4_IfcLinearVelocityMeasure_type; } Ifc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLinearVelocityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLinearVelocityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4::IfcLogical::Class() { return *IFC4_IfcLogical_type; } const IfcParse::type_declaration& Ifc4::IfcLogical::declaration() const { return *IFC4_IfcLogical_type; } Ifc4::IfcLogical::IfcLogical(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLogical::IfcLogical(boost::logic::tribool v) { data_ = new IfcEntityInstanceData(IFC4_IfcLogical_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLogical::operator boost::logic::tribool() const { return *data_->getArgument(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousFluxMeasure::Class() { return *IFC4_IfcLuminousFluxMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLuminousFluxMeasure::declaration() const { return *IFC4_IfcLuminousFluxMeasure_type; } Ifc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLuminousFluxMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLuminousFluxMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityDistributionMeasure::Class() { return *IFC4_IfcLuminousIntensityDistributionMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityDistributionMeasure::declaration() const { return *IFC4_IfcLuminousIntensityDistributionMeasure_type; } Ifc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLuminousIntensityDistributionMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityMeasure::Class() { return *IFC4_IfcLuminousIntensityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityMeasure::declaration() const { return *IFC4_IfcLuminousIntensityMeasure_type; } Ifc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcLuminousIntensityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcLuminousIntensityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4::IfcMagneticFluxDensityMeasure::Class() { return *IFC4_IfcMagneticFluxDensityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMagneticFluxDensityMeasure::declaration() const { return *IFC4_IfcMagneticFluxDensityMeasure_type; } Ifc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMagneticFluxDensityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMagneticFluxDensityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4::IfcMagneticFluxMeasure::Class() { return *IFC4_IfcMagneticFluxMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMagneticFluxMeasure::declaration() const { return *IFC4_IfcMagneticFluxMeasure_type; } Ifc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMagneticFluxMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMagneticFluxMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4::IfcMassDensityMeasure::Class() { return *IFC4_IfcMassDensityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMassDensityMeasure::declaration() const { return *IFC4_IfcMassDensityMeasure_type; } Ifc4::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMassDensityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMassDensityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4::IfcMassFlowRateMeasure::Class() { return *IFC4_IfcMassFlowRateMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMassFlowRateMeasure::declaration() const { return *IFC4_IfcMassFlowRateMeasure_type; } Ifc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMassFlowRateMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMassFlowRateMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4::IfcMassMeasure::Class() { return *IFC4_IfcMassMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMassMeasure::declaration() const { return *IFC4_IfcMassMeasure_type; } Ifc4::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMassMeasure::IfcMassMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMassMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMassMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4::IfcMassPerLengthMeasure::Class() { return *IFC4_IfcMassPerLengthMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMassPerLengthMeasure::declaration() const { return *IFC4_IfcMassPerLengthMeasure_type; } Ifc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMassPerLengthMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMassPerLengthMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfElasticityMeasure::Class() { return *IFC4_IfcModulusOfElasticityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcModulusOfElasticityMeasure::declaration() const { return *IFC4_IfcModulusOfElasticityMeasure_type; } Ifc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcModulusOfElasticityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcModulusOfElasticityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type; } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type; } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfSubgradeReactionMeasure::Class() { return *IFC4_IfcModulusOfSubgradeReactionMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *IFC4_IfcModulusOfSubgradeReactionMeasure_type; } Ifc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcModulusOfSubgradeReactionMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4::IfcMoistureDiffusivityMeasure::Class() { return *IFC4_IfcMoistureDiffusivityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMoistureDiffusivityMeasure::declaration() const { return *IFC4_IfcMoistureDiffusivityMeasure_type; } Ifc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMoistureDiffusivityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMoistureDiffusivityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4::IfcMolecularWeightMeasure::Class() { return *IFC4_IfcMolecularWeightMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMolecularWeightMeasure::declaration() const { return *IFC4_IfcMolecularWeightMeasure_type; } Ifc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMolecularWeightMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMolecularWeightMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4::IfcMomentOfInertiaMeasure::Class() { return *IFC4_IfcMomentOfInertiaMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMomentOfInertiaMeasure::declaration() const { return *IFC4_IfcMomentOfInertiaMeasure_type; } Ifc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMomentOfInertiaMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMomentOfInertiaMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4::IfcMonetaryMeasure::Class() { return *IFC4_IfcMonetaryMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcMonetaryMeasure::declaration() const { return *IFC4_IfcMonetaryMeasure_type; } Ifc4::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcMonetaryMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMonetaryMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4::IfcMonthInYearNumber::Class() { return *IFC4_IfcMonthInYearNumber_type; } const IfcParse::type_declaration& Ifc4::IfcMonthInYearNumber::declaration() const { return *IFC4_IfcMonthInYearNumber_type; } Ifc4::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcMonthInYearNumber_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcMonthInYearNumber::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4::IfcNonNegativeLengthMeasure::Class() { return *IFC4_IfcNonNegativeLengthMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcNonNegativeLengthMeasure::declaration() const { return *IFC4_IfcNonNegativeLengthMeasure_type; } Ifc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData* e) : IfcLengthMeasure((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcNonNegativeLengthMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcNonNegativeLengthMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4::IfcNormalisedRatioMeasure::Class() { return *IFC4_IfcNormalisedRatioMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcNormalisedRatioMeasure::declaration() const { return *IFC4_IfcNormalisedRatioMeasure_type; } Ifc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData* e) : IfcRatioMeasure((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcNormalisedRatioMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcNormalisedRatioMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4::IfcNumericMeasure::Class() { return *IFC4_IfcNumericMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcNumericMeasure::declaration() const { return *IFC4_IfcNumericMeasure_type; } Ifc4::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcNumericMeasure::IfcNumericMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcNumericMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcNumericMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4::IfcPHMeasure::Class() { return *IFC4_IfcPHMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPHMeasure::declaration() const { return *IFC4_IfcPHMeasure_type; } Ifc4::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPHMeasure::IfcPHMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcPHMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPHMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4::IfcParameterValue::Class() { return *IFC4_IfcParameterValue_type; } const IfcParse::type_declaration& Ifc4::IfcParameterValue::declaration() const { return *IFC4_IfcParameterValue_type; } Ifc4::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcParameterValue::IfcParameterValue(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcParameterValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcParameterValue::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4::IfcPlanarForceMeasure::Class() { return *IFC4_IfcPlanarForceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPlanarForceMeasure::declaration() const { return *IFC4_IfcPlanarForceMeasure_type; } Ifc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcPlanarForceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPlanarForceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcPlaneAngleMeasure::Class() { return *IFC4_IfcPlaneAngleMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPlaneAngleMeasure::declaration() const { return *IFC4_IfcPlaneAngleMeasure_type; } Ifc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcPlaneAngleMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPlaneAngleMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4::IfcPositiveInteger::Class() { return *IFC4_IfcPositiveInteger_type; } const IfcParse::type_declaration& Ifc4::IfcPositiveInteger::declaration() const { return *IFC4_IfcPositiveInteger_type; } Ifc4::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData* e) : IfcInteger((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcPositiveInteger_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPositiveInteger::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4::IfcPositiveLengthMeasure::Class() { return *IFC4_IfcPositiveLengthMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPositiveLengthMeasure::declaration() const { return *IFC4_IfcPositiveLengthMeasure_type; } Ifc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData* e) : IfcLengthMeasure((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcPositiveLengthMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPositiveLengthMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcPositivePlaneAngleMeasure::Class() { return *IFC4_IfcPositivePlaneAngleMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPositivePlaneAngleMeasure::declaration() const { return *IFC4_IfcPositivePlaneAngleMeasure_type; } Ifc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData* e) : IfcPlaneAngleMeasure((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcPositivePlaneAngleMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPositivePlaneAngleMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4::IfcPositiveRatioMeasure::Class() { return *IFC4_IfcPositiveRatioMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPositiveRatioMeasure::declaration() const { return *IFC4_IfcPositiveRatioMeasure_type; } Ifc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData* e) : IfcRatioMeasure((IfcEntityInstanceData*)0) { data_ = e; } Ifc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure((IfcEntityInstanceData*)0) { data_ = new IfcEntityInstanceData(IFC4_IfcPositiveRatioMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPositiveRatioMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4::IfcPowerMeasure::Class() { return *IFC4_IfcPowerMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPowerMeasure::declaration() const { return *IFC4_IfcPowerMeasure_type; } Ifc4::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPowerMeasure::IfcPowerMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcPowerMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPowerMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4::IfcPresentableText::Class() { return *IFC4_IfcPresentableText_type; } const IfcParse::type_declaration& Ifc4::IfcPresentableText::declaration() const { return *IFC4_IfcPresentableText_type; } Ifc4::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPresentableText::IfcPresentableText(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcPresentableText_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPresentableText::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4::IfcPressureMeasure::Class() { return *IFC4_IfcPressureMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcPressureMeasure::declaration() const { return *IFC4_IfcPressureMeasure_type; } Ifc4::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPressureMeasure::IfcPressureMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcPressureMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcPressureMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4::IfcPropertySetDefinitionSet::Class() { return *IFC4_IfcPropertySetDefinitionSet_type; } const IfcParse::type_declaration& Ifc4::IfcPropertySetDefinitionSet::declaration() const { return *IFC4_IfcPropertySetDefinitionSet_type; } Ifc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v) { data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetDefinitionSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v->generalize()); data_->setArgument(0, attr);} } Ifc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4::IfcRadioActivityMeasure::Class() { return *IFC4_IfcRadioActivityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcRadioActivityMeasure::declaration() const { return *IFC4_IfcRadioActivityMeasure_type; } Ifc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcRadioActivityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcRadioActivityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4::IfcRatioMeasure::Class() { return *IFC4_IfcRatioMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcRatioMeasure::declaration() const { return *IFC4_IfcRatioMeasure_type; } Ifc4::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRatioMeasure::IfcRatioMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcRatioMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcRatioMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4::IfcReal::Class() { return *IFC4_IfcReal_type; } const IfcParse::type_declaration& Ifc4::IfcReal::declaration() const { return *IFC4_IfcReal_type; } Ifc4::IfcReal::IfcReal(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcReal::IfcReal(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcReal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcReal::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalFrequencyMeasure::Class() { return *IFC4_IfcRotationalFrequencyMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcRotationalFrequencyMeasure::declaration() const { return *IFC4_IfcRotationalFrequencyMeasure_type; } Ifc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcRotationalFrequencyMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcRotationalFrequencyMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalMassMeasure::Class() { return *IFC4_IfcRotationalMassMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcRotationalMassMeasure::declaration() const { return *IFC4_IfcRotationalMassMeasure_type; } Ifc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcRotationalMassMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcRotationalMassMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalStiffnessMeasure::Class() { return *IFC4_IfcRotationalStiffnessMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcRotationalStiffnessMeasure::declaration() const { return *IFC4_IfcRotationalStiffnessMeasure_type; } Ifc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcRotationalStiffnessMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcRotationalStiffnessMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4::IfcSectionModulusMeasure::Class() { return *IFC4_IfcSectionModulusMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSectionModulusMeasure::declaration() const { return *IFC4_IfcSectionModulusMeasure_type; } Ifc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSectionModulusMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSectionModulusMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4::IfcSectionalAreaIntegralMeasure::Class() { return *IFC4_IfcSectionalAreaIntegralMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSectionalAreaIntegralMeasure::declaration() const { return *IFC4_IfcSectionalAreaIntegralMeasure_type; } Ifc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSectionalAreaIntegralMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSectionalAreaIntegralMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4::IfcShearModulusMeasure::Class() { return *IFC4_IfcShearModulusMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcShearModulusMeasure::declaration() const { return *IFC4_IfcShearModulusMeasure_type; } Ifc4::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcShearModulusMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcShearModulusMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4::IfcSolidAngleMeasure::Class() { return *IFC4_IfcSolidAngleMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSolidAngleMeasure::declaration() const { return *IFC4_IfcSolidAngleMeasure_type; } Ifc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSolidAngleMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSolidAngleMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPowerLevelMeasure::Class() { return *IFC4_IfcSoundPowerLevelMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSoundPowerLevelMeasure::declaration() const { return *IFC4_IfcSoundPowerLevelMeasure_type; } Ifc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSoundPowerLevelMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSoundPowerLevelMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPowerMeasure::Class() { return *IFC4_IfcSoundPowerMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSoundPowerMeasure::declaration() const { return *IFC4_IfcSoundPowerMeasure_type; } Ifc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSoundPowerMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSoundPowerMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPressureLevelMeasure::Class() { return *IFC4_IfcSoundPressureLevelMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSoundPressureLevelMeasure::declaration() const { return *IFC4_IfcSoundPressureLevelMeasure_type; } Ifc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSoundPressureLevelMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSoundPressureLevelMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPressureMeasure::Class() { return *IFC4_IfcSoundPressureMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSoundPressureMeasure::declaration() const { return *IFC4_IfcSoundPressureMeasure_type; } Ifc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSoundPressureMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSoundPressureMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4::IfcSpecificHeatCapacityMeasure::Class() { return *IFC4_IfcSpecificHeatCapacityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcSpecificHeatCapacityMeasure::declaration() const { return *IFC4_IfcSpecificHeatCapacityMeasure_type; } Ifc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpecificHeatCapacityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSpecificHeatCapacityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4::IfcSpecularExponent::Class() { return *IFC4_IfcSpecularExponent_type; } const IfcParse::type_declaration& Ifc4::IfcSpecularExponent::declaration() const { return *IFC4_IfcSpecularExponent_type; } Ifc4::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpecularExponent::IfcSpecularExponent(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpecularExponent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSpecularExponent::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4::IfcSpecularRoughness::Class() { return *IFC4_IfcSpecularRoughness_type; } const IfcParse::type_declaration& Ifc4::IfcSpecularRoughness::declaration() const { return *IFC4_IfcSpecularRoughness_type; } Ifc4::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcSpecularRoughness::IfcSpecularRoughness(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcSpecularRoughness_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcSpecularRoughness::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4::IfcTemperatureGradientMeasure::Class() { return *IFC4_IfcTemperatureGradientMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcTemperatureGradientMeasure::declaration() const { return *IFC4_IfcTemperatureGradientMeasure_type; } Ifc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcTemperatureGradientMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTemperatureGradientMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4::IfcTemperatureRateOfChangeMeasure::Class() { return *IFC4_IfcTemperatureRateOfChangeMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcTemperatureRateOfChangeMeasure::declaration() const { return *IFC4_IfcTemperatureRateOfChangeMeasure_type; } Ifc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcTemperatureRateOfChangeMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4::IfcText::Class() { return *IFC4_IfcText_type; } const IfcParse::type_declaration& Ifc4::IfcText::declaration() const { return *IFC4_IfcText_type; } Ifc4::IfcText::IfcText(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcText::IfcText(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcText_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcText::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4::IfcTextAlignment::Class() { return *IFC4_IfcTextAlignment_type; } const IfcParse::type_declaration& Ifc4::IfcTextAlignment::declaration() const { return *IFC4_IfcTextAlignment_type; } Ifc4::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTextAlignment::IfcTextAlignment(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextAlignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTextAlignment::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4::IfcTextDecoration::Class() { return *IFC4_IfcTextDecoration_type; } const IfcParse::type_declaration& Ifc4::IfcTextDecoration::declaration() const { return *IFC4_IfcTextDecoration_type; } Ifc4::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTextDecoration::IfcTextDecoration(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextDecoration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTextDecoration::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4::IfcTextFontName::Class() { return *IFC4_IfcTextFontName_type; } const IfcParse::type_declaration& Ifc4::IfcTextFontName::declaration() const { return *IFC4_IfcTextFontName_type; } Ifc4::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTextFontName::IfcTextFontName(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextFontName_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTextFontName::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4::IfcTextTransformation::Class() { return *IFC4_IfcTextTransformation_type; } const IfcParse::type_declaration& Ifc4::IfcTextTransformation::declaration() const { return *IFC4_IfcTextTransformation_type; } Ifc4::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTextTransformation::IfcTextTransformation(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcTextTransformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTextTransformation::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalAdmittanceMeasure::Class() { return *IFC4_IfcThermalAdmittanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermalAdmittanceMeasure::declaration() const { return *IFC4_IfcThermalAdmittanceMeasure_type; } Ifc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermalAdmittanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermalAdmittanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4::IfcThermalConductivityMeasure::Class() { return *IFC4_IfcThermalConductivityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermalConductivityMeasure::declaration() const { return *IFC4_IfcThermalConductivityMeasure_type; } Ifc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermalConductivityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermalConductivityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4::IfcThermalExpansionCoefficientMeasure::Class() { return *IFC4_IfcThermalExpansionCoefficientMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermalExpansionCoefficientMeasure::declaration() const { return *IFC4_IfcThermalExpansionCoefficientMeasure_type; } Ifc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermalExpansionCoefficientMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalResistanceMeasure::Class() { return *IFC4_IfcThermalResistanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermalResistanceMeasure::declaration() const { return *IFC4_IfcThermalResistanceMeasure_type; } Ifc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermalResistanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermalResistanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalTransmittanceMeasure::Class() { return *IFC4_IfcThermalTransmittanceMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermalTransmittanceMeasure::declaration() const { return *IFC4_IfcThermalTransmittanceMeasure_type; } Ifc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermalTransmittanceMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermalTransmittanceMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4::IfcThermodynamicTemperatureMeasure::Class() { return *IFC4_IfcThermodynamicTemperatureMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcThermodynamicTemperatureMeasure::declaration() const { return *IFC4_IfcThermodynamicTemperatureMeasure_type; } Ifc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcThermodynamicTemperatureMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcThermodynamicTemperatureMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4::IfcTime::Class() { return *IFC4_IfcTime_type; } const IfcParse::type_declaration& Ifc4::IfcTime::declaration() const { return *IFC4_IfcTime_type; } Ifc4::IfcTime::IfcTime(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTime::IfcTime(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcTime_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTime::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4::IfcTimeMeasure::Class() { return *IFC4_IfcTimeMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcTimeMeasure::declaration() const { return *IFC4_IfcTimeMeasure_type; } Ifc4::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTimeMeasure::IfcTimeMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcTimeMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTimeMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4::IfcTimeStamp::Class() { return *IFC4_IfcTimeStamp_type; } const IfcParse::type_declaration& Ifc4::IfcTimeStamp::declaration() const { return *IFC4_IfcTimeStamp_type; } Ifc4::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTimeStamp::IfcTimeStamp(int v) { data_ = new IfcEntityInstanceData(IFC4_IfcTimeStamp_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTimeStamp::operator int() const { return *data_->getArgument(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4::IfcTorqueMeasure::Class() { return *IFC4_IfcTorqueMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcTorqueMeasure::declaration() const { return *IFC4_IfcTorqueMeasure_type; } Ifc4::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcTorqueMeasure::IfcTorqueMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcTorqueMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcTorqueMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4::IfcURIReference::Class() { return *IFC4_IfcURIReference_type; } const IfcParse::type_declaration& Ifc4::IfcURIReference::declaration() const { return *IFC4_IfcURIReference_type; } Ifc4::IfcURIReference::IfcURIReference(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcURIReference::IfcURIReference(std::string v) { data_ = new IfcEntityInstanceData(IFC4_IfcURIReference_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcURIReference::operator std::string() const { return *data_->getArgument(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4::IfcVaporPermeabilityMeasure::Class() { return *IFC4_IfcVaporPermeabilityMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcVaporPermeabilityMeasure::declaration() const { return *IFC4_IfcVaporPermeabilityMeasure_type; } Ifc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcVaporPermeabilityMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcVaporPermeabilityMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4::IfcVolumeMeasure::Class() { return *IFC4_IfcVolumeMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcVolumeMeasure::declaration() const { return *IFC4_IfcVolumeMeasure_type; } Ifc4::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcVolumeMeasure::IfcVolumeMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcVolumeMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcVolumeMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4::IfcVolumetricFlowRateMeasure::Class() { return *IFC4_IfcVolumetricFlowRateMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcVolumetricFlowRateMeasure::declaration() const { return *IFC4_IfcVolumetricFlowRateMeasure_type; } Ifc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcVolumetricFlowRateMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcVolumetricFlowRateMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4::IfcWarpingConstantMeasure::Class() { return *IFC4_IfcWarpingConstantMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcWarpingConstantMeasure::declaration() const { return *IFC4_IfcWarpingConstantMeasure_type; } Ifc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcWarpingConstantMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcWarpingConstantMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4::IfcWarpingMomentMeasure::Class() { return *IFC4_IfcWarpingMomentMeasure_type; } const IfcParse::type_declaration& Ifc4::IfcWarpingMomentMeasure::declaration() const { return *IFC4_IfcWarpingMomentMeasure_type; } Ifc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData* e) { data_ = e; } Ifc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) { data_ = new IfcEntityInstanceData(IFC4_IfcWarpingMomentMeasure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(v); data_->setArgument(0, attr);} } Ifc4::IfcWarpingMomentMeasure::operator double() const { return *data_->getArgument(0); } // Function implementations for IfcActionRequest boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > Ifc4::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcActionRequest::declaration() const { return *IFC4_IfcActionRequest_type; } const IfcParse::entity& Ifc4::IfcActionRequest::Class() { return *IFC4_IfcActionRequest_type; } Ifc4::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcActionRequest_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor ::Ifc4::IfcActorSelect* Ifc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcActor::setTheActor(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssignsToActor::list::ptr Ifc4::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4_IfcRelAssignsToActor_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcActor::declaration() const { return *IFC4_IfcActor_type; } const IfcParse::entity& Ifc4::IfcActor::Class() { return *IFC4_IfcActor_type; } Ifc4::IfcActor::IfcActor(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcActor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} } // Function implementations for IfcActorRole ::Ifc4::IfcRoleEnum::Value Ifc4::IfcActorRole::Role() const { return ::Ifc4::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcActorRole::setRole(::Ifc4::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcActorRole::declaration() const { return *IFC4_IfcActorRole_type; } const IfcParse::entity& Ifc4::IfcActorRole::Class() { return *IFC4_IfcActorRole_type; } Ifc4::IfcActorRole::IfcActorRole(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcActorRole_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcActorRole::IfcActorRole(::Ifc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcActorRole_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Role,::Ifc4::IfcRoleEnum::ToString(v1_Role))));data_->setArgument(0,attr);} if (v2_UserDefinedRole) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_UserDefinedRole));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcActuator boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > Ifc4::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcActuator::declaration() const { return *IFC4_IfcActuator_type; } const IfcParse::entity& Ifc4::IfcActuator::Class() { return *IFC4_IfcActuator_type; } Ifc4::IfcActuator::IfcActuator(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcActuator_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcActuator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcActuatorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActuatorType ::Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorType::PredefinedType() const { return ::Ifc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcActuatorType::setPredefinedType(::Ifc4::IfcActuatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcActuatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcActuatorType::declaration() const { return *IFC4_IfcActuatorType_type; } const IfcParse::entity& Ifc4::IfcActuatorType::Class() { return *IFC4_IfcActuatorType_type; } Ifc4::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcActuatorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcActuatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcActuatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAddress boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > Ifc4::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcAddress::setPurpose(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcPerson::list::ptr Ifc4::IfcAddress::OfPerson() const { return data_->getInverse(IFC4_IfcPerson_type, 7)->as(); } ::Ifc4::IfcOrganization::list::ptr Ifc4::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4_IfcOrganization_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcAddress::declaration() const { return *IFC4_IfcAddress_type; } const IfcParse::entity& Ifc4::IfcAddress::Class() { return *IFC4_IfcAddress_type; } Ifc4::IfcAddress::IfcAddress(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcAddress_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcAddress_type); if (v1_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v1_Purpose,::Ifc4::IfcAddressTypeEnum::ToString(*v1_Purpose))));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedPurpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedPurpose));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcAdvancedBrep const IfcParse::entity& Ifc4::IfcAdvancedBrep::declaration() const { return *IFC4_IfcAdvancedBrep_type; } const IfcParse::entity& Ifc4::IfcAdvancedBrep::Class() { return *IFC4_IfcAdvancedBrep_type; } Ifc4::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData* e) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAdvancedBrep_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAdvancedBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcAdvancedBrepWithVoids aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcClosedShell >(); } void Ifc4::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcAdvancedBrepWithVoids::declaration() const { return *IFC4_IfcAdvancedBrepWithVoids_type; } const IfcParse::entity& Ifc4::IfcAdvancedBrepWithVoids::Class() { return *IFC4_IfcAdvancedBrepWithVoids_type; } Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData* e) : IfcAdvancedBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAdvancedBrepWithVoids_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAdvancedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcAdvancedFace const IfcParse::entity& Ifc4::IfcAdvancedFace::declaration() const { return *IFC4_IfcAdvancedFace_type; } const IfcParse::entity& Ifc4::IfcAdvancedFace::Class() { return *IFC4_IfcAdvancedFace_type; } Ifc4::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData* e) : IfcFaceSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAdvancedFace_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAdvancedFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcAirTerminal boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > Ifc4::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminal::declaration() const { return *IFC4_IfcAirTerminal_type; } const IfcParse::entity& Ifc4::IfcAirTerminal::Class() { return *IFC4_IfcAirTerminal_type; } Ifc4::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminalBox::declaration() const { return *IFC4_IfcAirTerminalBox_type; } const IfcParse::entity& Ifc4::IfcAirTerminalBox::Class() { return *IFC4_IfcAirTerminalBox_type; } Ifc4::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirTerminalBox_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcAirTerminalBoxType ::Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcAirTerminalBoxType::setPredefinedType(::Ifc4::IfcAirTerminalBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminalBoxType::declaration() const { return *IFC4_IfcAirTerminalBoxType_type; } const IfcParse::entity& Ifc4::IfcAirTerminalBoxType::Class() { return *IFC4_IfcAirTerminalBoxType_type; } Ifc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirTerminalBoxType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAirTerminalType ::Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcAirTerminalType::setPredefinedType(::Ifc4::IfcAirTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAirTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminalType::declaration() const { return *IFC4_IfcAirTerminalType_type; } const IfcParse::entity& Ifc4::IfcAirTerminalType::Class() { return *IFC4_IfcAirTerminalType_type; } Ifc4::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAirTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecovery::declaration() const { return *IFC4_IfcAirToAirHeatRecovery_type; } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecovery::Class() { return *IFC4_IfcAirToAirHeatRecovery_type; } Ifc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirToAirHeatRecovery_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirToAirHeatRecovery_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecoveryType::declaration() const { return *IFC4_IfcAirToAirHeatRecoveryType_type; } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecoveryType::Class() { return *IFC4_IfcAirToAirHeatRecoveryType_type; } Ifc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAirToAirHeatRecoveryType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAirToAirHeatRecoveryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAlarm boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > Ifc4::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAlarm::declaration() const { return *IFC4_IfcAlarm_type; } const IfcParse::entity& Ifc4::IfcAlarm::Class() { return *IFC4_IfcAlarm_type; } Ifc4::IfcAlarm::IfcAlarm(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAlarm_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAlarm_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcAlarmTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcAlarmType ::Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmType::PredefinedType() const { return ::Ifc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcAlarmType::setPredefinedType(::Ifc4::IfcAlarmTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAlarmTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcAlarmType::declaration() const { return *IFC4_IfcAlarmType_type; } const IfcParse::entity& Ifc4::IfcAlarmType::Class() { return *IFC4_IfcAlarmType_type; } Ifc4::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAlarmType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAlarmType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAlarmTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAnnotation ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcAnnotation::declaration() const { return *IFC4_IfcAnnotation_type; } const IfcParse::entity& Ifc4::IfcAnnotation::Class() { return *IFC4_IfcAnnotation_type; } Ifc4::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAnnotation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAnnotationFillArea ::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcAnnotationFillArea::declaration() const { return *IFC4_IfcAnnotationFillArea_type; } const IfcParse::entity& Ifc4::IfcAnnotationFillArea::Class() { return *IFC4_IfcAnnotationFillArea_type; } Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAnnotationFillArea_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication ::Ifc4::IfcOrganization* Ifc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcApplication::setApplicationDeveloper(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } std::string Ifc4::IfcApplication::ApplicationFullName() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcApplication::setApplicationFullName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4::IfcApplication::ApplicationIdentifier() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcApplication::setApplicationIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcApplication::declaration() const { return *IFC4_IfcApplication_type; } const IfcParse::entity& Ifc4::IfcApplication::Class() { return *IFC4_IfcApplication_type; } Ifc4::IfcApplication::IfcApplication(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcApplication_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcApplication::IfcApplication(::Ifc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcApplication_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ApplicationDeveloper));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Version));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ApplicationFullName));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ApplicationIdentifier));data_->setArgument(3,attr);} } // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAppliedValueSelect>(true); } void Ifc4::IfcAppliedValue::setAppliedValue(::Ifc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcAppliedValue::setUnitBasis(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > Ifc4::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcAppliedValue::declaration() const { return *IFC4_IfcAppliedValue_type; } const IfcParse::entity& Ifc4::IfcAppliedValue::Class() { return *IFC4_IfcAppliedValue_type; } Ifc4::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcAppliedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcAppliedValue_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AppliedValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_UnitBasis));data_->setArgument(3,attr);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcApproval boost::optional< std::string > Ifc4::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setRequestingApproval(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setGivingApproval(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcRelAssociatesApproval::list::ptr Ifc4::IfcApproval::ApprovedObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesApproval_type, 5)->as(); } ::Ifc4::IfcResourceApprovalRelationship::list::ptr Ifc4::IfcApproval::ApprovedResources() const { return data_->getInverse(IFC4_IfcResourceApprovalRelationship_type, 3)->as(); } ::Ifc4::IfcApprovalRelationship::list::ptr Ifc4::IfcApproval::IsRelatedWith() const { return data_->getInverse(IFC4_IfcApprovalRelationship_type, 3)->as(); } ::Ifc4::IfcApprovalRelationship::list::ptr Ifc4::IfcApproval::Relates() const { return data_->getInverse(IFC4_IfcApprovalRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcApproval::declaration() const { return *IFC4_IfcApproval_type; } const IfcParse::entity& Ifc4::IfcApproval::Class() { return *IFC4_IfcApproval_type; } Ifc4::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship ::Ifc4::IfcApproval* Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcApproval >::ptr Ifc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcApproval >(); } void Ifc4::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcApprovalRelationship::declaration() const { return *IFC4_IfcApprovalRelationship_type; } const IfcParse::entity& Ifc4::IfcApprovalRelationship::Class() { return *IFC4_IfcApprovalRelationship_type; } Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4::IfcCurve* Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcArbitraryClosedProfileDef::declaration() const { return *IFC4_IfcArbitraryClosedProfileDef_type; } const IfcParse::entity& Ifc4::IfcArbitraryClosedProfileDef::Class() { return *IFC4_IfcArbitraryClosedProfileDef_type; } Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcArbitraryClosedProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4::IfcBoundedCurve* Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcArbitraryOpenProfileDef::declaration() const { return *IFC4_IfcArbitraryOpenProfileDef_type; } const IfcParse::entity& Ifc4::IfcArbitraryOpenProfileDef::Class() { return *IFC4_IfcArbitraryOpenProfileDef_type; } Ifc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcArbitraryOpenProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcArbitraryOpenProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Curve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryProfileDefWithVoids aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcArbitraryProfileDefWithVoids::declaration() const { return *IFC4_IfcArbitraryProfileDefWithVoids_type; } const IfcParse::entity& Ifc4::IfcArbitraryProfileDefWithVoids::Class() { return *IFC4_IfcArbitraryProfileDefWithVoids_type; } Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData* e) : IfcArbitraryClosedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcArbitraryProfileDefWithVoids_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcArbitraryProfileDefWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_InnerCurves)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcAsset boost::optional< std::string > Ifc4::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setOriginalValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setCurrentValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setTotalReplacementCost(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setUser(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcAsset::setResponsiblePerson(::Ifc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setDepreciatedValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcAsset::declaration() const { return *IFC4_IfcAsset_type; } const IfcParse::entity& Ifc4::IfcAsset::Class() { return *IFC4_IfcAsset_type; } Ifc4::IfcAsset::IfcAsset(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAsset_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAsset_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OriginalValue));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CurrentValue));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_TotalReplacementCost));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Owner));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_User));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_ResponsiblePerson));data_->setArgument(11,attr);} if (v13_IncorporationDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_IncorporationDate));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_DepreciatedValue));data_->setArgument(13,attr);} } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4_IfcAsymmetricIShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcAsymmetricIShapeProfileDef::Class() { return *IFC4_IfcAsymmetricIShapeProfileDef_type; } Ifc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAsymmetricIShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAsymmetricIShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_BottomFlangeWidth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OverallDepth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_BottomFlangeThickness));data_->setArgument(6,attr);} if (v8_BottomFlangeFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_BottomFlangeFilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_TopFlangeWidth));data_->setArgument(8,attr);} if (v10_TopFlangeThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TopFlangeThickness));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TopFlangeFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TopFlangeFilletRadius));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_BottomFlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_BottomFlangeEdgeRadius));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BottomFlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BottomFlangeSlope));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TopFlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TopFlangeEdgeRadius));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_TopFlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_TopFlangeSlope));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } } // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAudioVisualAppliance::declaration() const { return *IFC4_IfcAudioVisualAppliance_type; } const IfcParse::entity& Ifc4::IfcAudioVisualAppliance::Class() { return *IFC4_IfcAudioVisualAppliance_type; } Ifc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAudioVisualAppliance_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAudioVisualAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcAudioVisualApplianceType ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcAudioVisualApplianceType::declaration() const { return *IFC4_IfcAudioVisualApplianceType_type; } const IfcParse::entity& Ifc4::IfcAudioVisualApplianceType::Class() { return *IFC4_IfcAudioVisualApplianceType_type; } Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAudioVisualApplianceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement ::Ifc4::IfcDirection* Ifc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis1Placement::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcAxis1Placement::declaration() const { return *IFC4_IfcAxis1Placement_type; } const IfcParse::entity& Ifc4::IfcAxis1Placement::Class() { return *IFC4_IfcAxis1Placement_type; } Ifc4::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : IfcPlacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAxis1Placement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D ::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement2D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcAxis2Placement2D::declaration() const { return *IFC4_IfcAxis2Placement2D_type; } const IfcParse::entity& Ifc4::IfcAxis2Placement2D::Class() { return *IFC4_IfcAxis2Placement2D_type; } Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : IfcPlacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAxis2Placement2D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D ::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcAxis2Placement3D::declaration() const { return *IFC4_IfcAxis2Placement3D_type; } const IfcParse::entity& Ifc4::IfcAxis2Placement3D::Class() { return *IFC4_IfcAxis2Placement3D_type; } Ifc4::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData* e) : IfcPlacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcAxis2Placement3D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis, ::Ifc4::IfcDirection* v3_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAxis2Placement3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RefDirection));data_->setArgument(2,attr);} } // Function implementations for IfcBSplineCurve int Ifc4::IfcBSplineCurve::Degree() const { int v = *data_->getArgument(0); return v; } void Ifc4::IfcBSplineCurve::setDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4::IfcBSplineCurveForm::FromString(*data_->getArgument(2)); } void Ifc4::IfcBSplineCurve::setCurveForm(::Ifc4::IfcBSplineCurveForm::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBSplineCurveForm::ToString(v)));data_->setArgument(2,attr);} } boost::logic::tribool Ifc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::logic::tribool Ifc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(4); return v; } void Ifc4::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcBSplineCurve::declaration() const { return *IFC4_IfcBSplineCurve_type; } const IfcParse::entity& Ifc4::IfcBSplineCurve::Class() { return *IFC4_IfcBSplineCurve_type; } Ifc4::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBSplineCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBSplineCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);} } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(5); return v; } void Ifc4::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(6); return v; } void Ifc4::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(*data_->getArgument(7)); } void Ifc4::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4::IfcKnotType::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcKnotType::ToString(v)));data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcBSplineCurveWithKnots::declaration() const { return *IFC4_IfcBSplineCurveWithKnots_type; } const IfcParse::entity& Ifc4::IfcBSplineCurveWithKnots::Class() { return *IFC4_IfcBSplineCurveWithKnots_type; } Ifc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData* e) : IfcBSplineCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBSplineCurveWithKnots_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);} } // Function implementations for IfcBSplineSurface int Ifc4::IfcBSplineSurface::UDegree() const { int v = *data_->getArgument(0); return v; } void Ifc4::IfcBSplineSurface::setUDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4::IfcBSplineSurface::VDegree() const { int v = *data_->getArgument(1); return v; } void Ifc4::IfcBSplineSurface::setVDegree(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4::IfcBSplineSurfaceForm::FromString(*data_->getArgument(3)); } void Ifc4::IfcBSplineSurface::setSurfaceForm(::Ifc4::IfcBSplineSurfaceForm::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBSplineSurfaceForm::ToString(v)));data_->setArgument(3,attr);} } boost::logic::tribool Ifc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = *data_->getArgument(4); return v; } void Ifc4::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::logic::tribool Ifc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = *data_->getArgument(5); return v; } void Ifc4::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::logic::tribool Ifc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(6); return v; } void Ifc4::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBSplineSurface::declaration() const { return *IFC4_IfcBSplineSurface_type; } const IfcParse::entity& Ifc4::IfcBSplineSurface::Class() { return *IFC4_IfcBSplineSurface_type; } Ifc4::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBSplineSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBSplineSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);} } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(7); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(9); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(10); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(*data_->getArgument(11)); } void Ifc4::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4::IfcKnotType::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcKnotType::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcBSplineSurfaceWithKnots::declaration() const { return *IFC4_IfcBSplineSurfaceWithKnots_type; } const IfcParse::entity& Ifc4::IfcBSplineSurfaceWithKnots::Class() { return *IFC4_IfcBSplineSurfaceWithKnots_type; } Ifc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData* e) : IfcBSplineSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBSplineSurfaceWithKnots_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);} } // Function implementations for IfcBeam boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > Ifc4::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBeam::declaration() const { return *IFC4_IfcBeam_type; } const IfcParse::entity& Ifc4::IfcBeam::Class() { return *IFC4_IfcBeam_type; } Ifc4::IfcBeam::IfcBeam(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBeam_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBeam_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBeamTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBeamStandardCase const IfcParse::entity& Ifc4::IfcBeamStandardCase::declaration() const { return *IFC4_IfcBeamStandardCase_type; } const IfcParse::entity& Ifc4::IfcBeamStandardCase::Class() { return *IFC4_IfcBeamStandardCase_type; } Ifc4::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData* e) : IfcBeam((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBeamStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBeamStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBeamTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBeamType ::Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamType::PredefinedType() const { return ::Ifc4::IfcBeamTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcBeamType::setPredefinedType(::Ifc4::IfcBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBeamTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBeamType::declaration() const { return *IFC4_IfcBeamType_type; } const IfcParse::entity& Ifc4::IfcBeamType::Class() { return *IFC4_IfcBeamType_type; } Ifc4::IfcBeamType::IfcBeamType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBeamType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBlobTexture std::string Ifc4::IfcBlobTexture::RasterFormat() const { std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcBlobTexture::setRasterFormat(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::dynamic_bitset<> Ifc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = *data_->getArgument(6); return v; } void Ifc4::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBlobTexture::declaration() const { return *IFC4_IfcBlobTexture_type; } const IfcParse::entity& Ifc4::IfcBlobTexture::Class() { return *IFC4_IfcBlobTexture_type; } Ifc4::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData* e) : IfcSurfaceTexture((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBlobTexture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBlobTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RasterFormat));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RasterCode));data_->setArgument(6,attr);} } // Function implementations for IfcBlock double Ifc4::IfcBlock::XLength() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcBlock::setXLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcBlock::YLength() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcBlock::setYLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcBlock::ZLength() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcBlock::setZLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcBlock::declaration() const { return *IFC4_IfcBlock_type; } const IfcParse::entity& Ifc4::IfcBlock::Class() { return *IFC4_IfcBlock_type; } Ifc4::IfcBlock::IfcBlock(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBlock_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBlock::IfcBlock(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBlock_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZLength));data_->setArgument(3,attr);} } // Function implementations for IfcBoiler boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > Ifc4::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBoiler::declaration() const { return *IFC4_IfcBoiler_type; } const IfcParse::entity& Ifc4::IfcBoiler::Class() { return *IFC4_IfcBoiler_type; } Ifc4::IfcBoiler::IfcBoiler(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoiler_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoiler_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBoilerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBoilerType ::Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerType::PredefinedType() const { return ::Ifc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcBoilerType::setPredefinedType(::Ifc4::IfcBoilerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBoilerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBoilerType::declaration() const { return *IFC4_IfcBoilerType_type; } const IfcParse::entity& Ifc4::IfcBoilerType::Class() { return *IFC4_IfcBoilerType_type; } Ifc4::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoilerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoilerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcBoilerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBooleanClippingResult const IfcParse::entity& Ifc4::IfcBooleanClippingResult::declaration() const { return *IFC4_IfcBooleanClippingResult_type; } const IfcParse::entity& Ifc4::IfcBooleanClippingResult::Class() { return *IFC4_IfcBooleanClippingResult_type; } Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData* e) : IfcBooleanResult((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBooleanClippingResult_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBooleanClippingResult_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Operator,::Ifc4::IfcBooleanOperator::ToString(v1_Operator))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FirstOperand));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SecondOperand));data_->setArgument(2,attr);} } // Function implementations for IfcBooleanResult ::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4::IfcBooleanResult::setOperator(::Ifc4::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } ::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setFirstOperand(::Ifc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setSecondOperand(::Ifc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcBooleanResult::declaration() const { return *IFC4_IfcBooleanResult_type; } const IfcParse::entity& Ifc4::IfcBooleanResult::Class() { return *IFC4_IfcBooleanResult_type; } Ifc4::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBooleanResult_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBooleanResult::IfcBooleanResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBooleanResult_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Operator,::Ifc4::IfcBooleanOperator::ToString(v1_Operator))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FirstOperand));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SecondOperand));data_->setArgument(2,attr);} } // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryCondition::declaration() const { return *IFC4_IfcBoundaryCondition_type; } const IfcParse::entity& Ifc4::IfcBoundaryCondition::Class() { return *IFC4_IfcBoundaryCondition_type; } Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcBoundaryCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcBoundaryCurve const IfcParse::entity& Ifc4::IfcBoundaryCurve::declaration() const { return *IFC4_IfcBoundaryCurve_type; } const IfcParse::entity& Ifc4::IfcBoundaryCurve::Class() { return *IFC4_IfcBoundaryCurve_type; } Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundaryCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryEdgeCondition::declaration() const { return *IFC4_IfcBoundaryEdgeCondition_type; } const IfcParse::entity& Ifc4::IfcBoundaryEdgeCondition::Class() { return *IFC4_IfcBoundaryEdgeCondition_type; } Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData* e) : IfcBoundaryCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundaryEdgeCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition ::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryFaceCondition::declaration() const { return *IFC4_IfcBoundaryFaceCondition_type; } const IfcParse::entity& Ifc4::IfcBoundaryFaceCondition::Class() { return *IFC4_IfcBoundaryFaceCondition_type; } Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData* e) : IfcBoundaryCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundaryFaceCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition ::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryNodeCondition::declaration() const { return *IFC4_IfcBoundaryNodeCondition_type; } const IfcParse::entity& Ifc4::IfcBoundaryNodeCondition::Class() { return *IFC4_IfcBoundaryNodeCondition_type; } Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData* e) : IfcBoundaryCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundaryNodeCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4::IfcWarpingStiffnessSelect* Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcWarpingStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryNodeConditionWarping::declaration() const { return *IFC4_IfcBoundaryNodeConditionWarping_type; } const IfcParse::entity& Ifc4::IfcBoundaryNodeConditionWarping::Class() { return *IFC4_IfcBoundaryNodeConditionWarping_type; } Ifc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData* e) : IfcBoundaryNodeCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundaryNodeConditionWarping_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryNodeConditionWarping_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_WarpingStiffness));data_->setArgument(7,attr);} } // Function implementations for IfcBoundedCurve const IfcParse::entity& Ifc4::IfcBoundedCurve::declaration() const { return *IFC4_IfcBoundedCurve_type; } const IfcParse::entity& Ifc4::IfcBoundedCurve::Class() { return *IFC4_IfcBoundedCurve_type; } Ifc4::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundedCurve_type); } // Function implementations for IfcBoundedSurface const IfcParse::entity& Ifc4::IfcBoundedSurface::declaration() const { return *IFC4_IfcBoundedSurface_type; } const IfcParse::entity& Ifc4::IfcBoundedSurface::Class() { return *IFC4_IfcBoundedSurface_type; } Ifc4::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : IfcSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundedSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox ::Ifc4::IfcCartesianPoint* Ifc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcBoundingBox::setCorner(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcBoundingBox::YDim() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcBoundingBox::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcBoundingBox::ZDim() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcBoundingBox::setZDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcBoundingBox::declaration() const { return *IFC4_IfcBoundingBox_type; } const IfcParse::entity& Ifc4::IfcBoundingBox::Class() { return *IFC4_IfcBoundingBox_type; } Ifc4::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoundingBox_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoundingBox::IfcBoundingBox(::Ifc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace ::Ifc4::IfcBoundingBox* Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundingBox>(true); } void Ifc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcBoxedHalfSpace::declaration() const { return *IFC4_IfcBoxedHalfSpace_type; } const IfcParse::entity& Ifc4::IfcBoxedHalfSpace::Class() { return *IFC4_IfcBoxedHalfSpace_type; } Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData* e) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBoxedHalfSpace_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoxedHalfSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Enclosure));data_->setArgument(2,attr);} } // Function implementations for IfcBuilding boost::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcBuilding::setBuildingAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcBuilding::declaration() const { return *IFC4_IfcBuilding_type; } const IfcParse::entity& Ifc4::IfcBuilding::Class() { return *IFC4_IfcBuilding_type; } Ifc4::IfcBuilding::IfcBuilding(IfcEntityInstanceData* e) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuilding_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuilding_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_ElevationOfRefHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_ElevationOfRefHeight));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ElevationOfTerrain) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ElevationOfTerrain));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_BuildingAddress));data_->setArgument(11,attr);} } // Function implementations for IfcBuildingElement const IfcParse::entity& Ifc4::IfcBuildingElement::declaration() const { return *IFC4_IfcBuildingElement_type; } const IfcParse::entity& Ifc4::IfcBuildingElement::Class() { return *IFC4_IfcBuildingElement_type; } Ifc4::IfcBuildingElement::IfcBuildingElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > Ifc4::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementPart::declaration() const { return *IFC4_IfcBuildingElementPart_type; } const IfcParse::entity& Ifc4::IfcBuildingElementPart::Class() { return *IFC4_IfcBuildingElementPart_type; } Ifc4::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElementPart_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementPart_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBuildingElementPartType ::Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcBuildingElementPartType::setPredefinedType(::Ifc4::IfcBuildingElementPartTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementPartType::declaration() const { return *IFC4_IfcBuildingElementPartType_type; } const IfcParse::entity& Ifc4::IfcBuildingElementPartType::Class() { return *IFC4_IfcBuildingElementPartType_type; } Ifc4::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElementPartType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementPartType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementProxy::declaration() const { return *IFC4_IfcBuildingElementProxy_type; } const IfcParse::entity& Ifc4::IfcBuildingElementProxy::Class() { return *IFC4_IfcBuildingElementProxy_type; } Ifc4::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElementProxy_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementProxy_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBuildingElementProxyType ::Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcBuildingElementProxyType::setPredefinedType(::Ifc4::IfcBuildingElementProxyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementProxyType::declaration() const { return *IFC4_IfcBuildingElementProxyType_type; } const IfcParse::entity& Ifc4::IfcBuildingElementProxyType::Class() { return *IFC4_IfcBuildingElementProxyType_type; } Ifc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElementProxyType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementProxyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcBuildingElementType const IfcParse::entity& Ifc4::IfcBuildingElementType::declaration() const { return *IFC4_IfcBuildingElementType_type; } const IfcParse::entity& Ifc4::IfcBuildingElementType::Class() { return *IFC4_IfcBuildingElementType_type; } Ifc4::IfcBuildingElementType::IfcBuildingElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBuildingStorey::declaration() const { return *IFC4_IfcBuildingStorey_type; } const IfcParse::entity& Ifc4::IfcBuildingStorey::Class() { return *IFC4_IfcBuildingStorey_type; } Ifc4::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData* e) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingStorey_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingStorey_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Elevation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Elevation));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > Ifc4::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBuildingSystem::declaration() const { return *IFC4_IfcBuildingSystem_type; } const IfcParse::entity& Ifc4::IfcBuildingSystem::Class() { return *IFC4_IfcBuildingSystem_type; } Ifc4::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData* e) : IfcSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBuildingSystem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBuildingSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_PredefinedType,::Ifc4::IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongName));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcBurner boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > Ifc4::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBurner::declaration() const { return *IFC4_IfcBurner_type; } const IfcParse::entity& Ifc4::IfcBurner::Class() { return *IFC4_IfcBurner_type; } Ifc4::IfcBurner::IfcBurner(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBurner_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBurner_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcBurnerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcBurnerType ::Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerType::PredefinedType() const { return ::Ifc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcBurnerType::setPredefinedType(::Ifc4::IfcBurnerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBurnerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBurnerType::declaration() const { return *IFC4_IfcBurnerType_type; } const IfcParse::entity& Ifc4::IfcBurnerType::Class() { return *IFC4_IfcBurnerType_type; } Ifc4::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcBurnerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBurnerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcBurnerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCShapeProfileDef double Ifc4::IfcCShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcCShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcCShapeProfileDef::Width() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcCShapeProfileDef::setWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcCShapeProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcCShapeProfileDef::declaration() const { return *IFC4_IfcCShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcCShapeProfileDef::Class() { return *IFC4_IfcCShapeProfileDef_type; } Ifc4::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Width));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WallThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Girth));data_->setArgument(6,attr);} if (v8_InternalFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InternalFilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierFitting::declaration() const { return *IFC4_IfcCableCarrierFitting_type; } const IfcParse::entity& Ifc4::IfcCableCarrierFitting::Class() { return *IFC4_IfcCableCarrierFitting_type; } Ifc4::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData* e) : IfcFlowFitting((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableCarrierFitting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCableCarrierFittingType ::Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCableCarrierFittingType::setPredefinedType(::Ifc4::IfcCableCarrierFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierFittingType::declaration() const { return *IFC4_IfcCableCarrierFittingType_type; } const IfcParse::entity& Ifc4::IfcCableCarrierFittingType::Class() { return *IFC4_IfcCableCarrierFittingType_type; } Ifc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableCarrierFittingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierSegment::declaration() const { return *IFC4_IfcCableCarrierSegment_type; } const IfcParse::entity& Ifc4::IfcCableCarrierSegment::Class() { return *IFC4_IfcCableCarrierSegment_type; } Ifc4::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData* e) : IfcFlowSegment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableCarrierSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCableCarrierSegmentType ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierSegmentType::declaration() const { return *IFC4_IfcCableCarrierSegmentType_type; } const IfcParse::entity& Ifc4::IfcCableCarrierSegmentType::Class() { return *IFC4_IfcCableCarrierSegmentType_type; } Ifc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableCarrierSegmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableCarrierSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableFitting boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > Ifc4::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableFitting::declaration() const { return *IFC4_IfcCableFitting_type; } const IfcParse::entity& Ifc4::IfcCableFitting::Class() { return *IFC4_IfcCableFitting_type; } Ifc4::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData* e) : IfcFlowFitting((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableFitting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCableFittingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCableFittingType ::Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCableFittingType::setPredefinedType(::Ifc4::IfcCableFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCableFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCableFittingType::declaration() const { return *IFC4_IfcCableFittingType_type; } const IfcParse::entity& Ifc4::IfcCableFittingType::Class() { return *IFC4_IfcCableFittingType_type; } Ifc4::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableFittingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCableFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCableSegment boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > Ifc4::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableSegment::declaration() const { return *IFC4_IfcCableSegment_type; } const IfcParse::entity& Ifc4::IfcCableSegment::Class() { return *IFC4_IfcCableSegment_type; } Ifc4::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData* e) : IfcFlowSegment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCableSegmentType ::Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCableSegmentType::setPredefinedType(::Ifc4::IfcCableSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCableSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCableSegmentType::declaration() const { return *IFC4_IfcCableSegmentType_type; } const IfcParse::entity& Ifc4::IfcCableSegmentType::Class() { return *IFC4_IfcCableSegmentType_type; } Ifc4::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCableSegmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCableSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCableSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = *data_->getArgument(0); return v; } void Ifc4::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcCartesianPoint::declaration() const { return *IFC4_IfcCartesianPoint_type; } const IfcParse::entity& Ifc4::IfcCartesianPoint::Class() { return *IFC4_IfcCartesianPoint_type; } Ifc4::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData* e) : IfcPoint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianPoint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianPoint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} } // Function implementations for IfcCartesianPointList const IfcParse::entity& Ifc4::IfcCartesianPointList::declaration() const { return *IFC4_IfcCartesianPointList_type; } const IfcParse::entity& Ifc4::IfcCartesianPointList::Class() { return *IFC4_IfcCartesianPointList_type; } Ifc4::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianPointList_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianPointList_type); } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcCartesianPointList2D::declaration() const { return *IFC4_IfcCartesianPointList2D_type; } const IfcParse::entity& Ifc4::IfcCartesianPointList2D::Class() { return *IFC4_IfcCartesianPointList2D_type; } Ifc4::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData* e) : IfcCartesianPointList((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianPointList2D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianPointList2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcCartesianPointList3D::declaration() const { return *IFC4_IfcCartesianPointList3D_type; } const IfcParse::entity& Ifc4::IfcCartesianPointList3D::Class() { return *IFC4_IfcCartesianPointList3D_type; } Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData* e) : IfcCartesianPointList((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianPointList3D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} } // Function implementations for IfcCartesianTransformationOperator ::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator::declaration() const { return *IFC4_IfcCartesianTransformationOperator_type; } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator::Class() { return *IFC4_IfcCartesianTransformationOperator_type; } Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianTransformationOperator_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCartesianTransformationOperator2D const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2D::declaration() const { return *IFC4_IfcCartesianTransformationOperator2D_type; } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2D::Class() { return *IFC4_IfcCartesianTransformationOperator2D_type; } Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData* e) : IfcCartesianTransformationOperator((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianTransformationOperator2D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4_IfcCartesianTransformationOperator2DnonUniform_type; } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::Class() { return *IFC4_IfcCartesianTransformationOperator2DnonUniform_type; } Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData* e) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianTransformationOperator2DnonUniform_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3D::declaration() const { return *IFC4_IfcCartesianTransformationOperator3D_type; } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3D::Class() { return *IFC4_IfcCartesianTransformationOperator3D_type; } Ifc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData* e) : IfcCartesianTransformationOperator((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianTransformationOperator3D_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Axis3));data_->setArgument(4,attr);} } // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4_IfcCartesianTransformationOperator3DnonUniform_type; } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::Class() { return *IFC4_IfcCartesianTransformationOperator3DnonUniform_type; } Ifc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData* e) : IfcCartesianTransformationOperator3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCartesianTransformationOperator3DnonUniform_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator3DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Axis3));data_->setArgument(4,attr);} if (v6_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Scale2));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scale3) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scale3));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcCenterLineProfileDef double Ifc4::IfcCenterLineProfileDef::Thickness() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcCenterLineProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCenterLineProfileDef::declaration() const { return *IFC4_IfcCenterLineProfileDef_type; } const IfcParse::entity& Ifc4::IfcCenterLineProfileDef::Class() { return *IFC4_IfcCenterLineProfileDef_type; } Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData* e) : IfcArbitraryOpenProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCenterLineProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCenterLineProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Curve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Thickness));data_->setArgument(3,attr);} } // Function implementations for IfcChiller boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > Ifc4::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcChiller::declaration() const { return *IFC4_IfcChiller_type; } const IfcParse::entity& Ifc4::IfcChiller::Class() { return *IFC4_IfcChiller_type; } Ifc4::IfcChiller::IfcChiller(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcChiller_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcChiller_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcChillerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcChillerType ::Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerType::PredefinedType() const { return ::Ifc4::IfcChillerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcChillerType::setPredefinedType(::Ifc4::IfcChillerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcChillerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcChillerType::declaration() const { return *IFC4_IfcChillerType_type; } const IfcParse::entity& Ifc4::IfcChillerType::Class() { return *IFC4_IfcChillerType_type; } Ifc4::IfcChillerType::IfcChillerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcChillerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcChillerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcChillerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcChimney boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > Ifc4::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcChimney::declaration() const { return *IFC4_IfcChimney_type; } const IfcParse::entity& Ifc4::IfcChimney::Class() { return *IFC4_IfcChimney_type; } Ifc4::IfcChimney::IfcChimney(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcChimney_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcChimney_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcChimneyTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcChimneyType ::Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyType::PredefinedType() const { return ::Ifc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcChimneyType::setPredefinedType(::Ifc4::IfcChimneyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcChimneyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcChimneyType::declaration() const { return *IFC4_IfcChimneyType_type; } const IfcParse::entity& Ifc4::IfcChimneyType::Class() { return *IFC4_IfcChimneyType_type; } Ifc4::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcChimneyType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcChimneyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcChimneyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCircle double Ifc4::IfcCircle::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcCircle::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCircle::declaration() const { return *IFC4_IfcCircle_type; } const IfcParse::entity& Ifc4::IfcCircle::Class() { return *IFC4_IfcCircle_type; } Ifc4::IfcCircle::IfcCircle(IfcEntityInstanceData* e) : IfcConic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCircle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCircle::IfcCircle(::Ifc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCircle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcCircleHollowProfileDef double Ifc4::IfcCircleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcCircleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCircleHollowProfileDef::declaration() const { return *IFC4_IfcCircleHollowProfileDef_type; } const IfcParse::entity& Ifc4::IfcCircleHollowProfileDef::Class() { return *IFC4_IfcCircleHollowProfileDef_type; } Ifc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData* e) : IfcCircleProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCircleHollowProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCircleHollowProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Radius));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_WallThickness));data_->setArgument(4,attr);} } // Function implementations for IfcCircleProfileDef double Ifc4::IfcCircleProfileDef::Radius() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcCircleProfileDef::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCircleProfileDef::declaration() const { return *IFC4_IfcCircleProfileDef_type; } const IfcParse::entity& Ifc4::IfcCircleProfileDef::Class() { return *IFC4_IfcCircleProfileDef_type; } Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCircleProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCircleProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Radius));data_->setArgument(3,attr);} } // Function implementations for IfcCivilElement const IfcParse::entity& Ifc4::IfcCivilElement::declaration() const { return *IFC4_IfcCivilElement_type; } const IfcParse::entity& Ifc4::IfcCivilElement::Class() { return *IFC4_IfcCivilElement_type; } Ifc4::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCivilElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCivilElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcCivilElementType const IfcParse::entity& Ifc4::IfcCivilElementType::declaration() const { return *IFC4_IfcCivilElementType_type; } const IfcParse::entity& Ifc4::IfcCivilElementType::Class() { return *IFC4_IfcCivilElementType_type; } Ifc4::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCivilElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCivilElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcClassification boost::optional< std::string > Ifc4::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } void Ifc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4::IfcClassificationReference::list::ptr Ifc4::IfcClassification::HasReferences() const { return data_->getInverse(IFC4_IfcClassificationReference_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcClassification::declaration() const { return *IFC4_IfcClassification_type; } const IfcParse::entity& Ifc4::IfcClassification::Class() { return *IFC4_IfcClassification_type; } Ifc4::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference ::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(true); } void Ifc4::IfcClassificationReference::setReferencedSource(::Ifc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4::IfcClassificationReference::list::ptr Ifc4::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4_IfcClassificationReference_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcClassificationReference::declaration() const { return *IFC4_IfcClassificationReference_type; } const IfcParse::entity& Ifc4::IfcClassificationReference::Class() { return *IFC4_IfcClassificationReference_type; } Ifc4::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcClassificationReference_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcClassificationReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ReferencedSource));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Sort) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Sort));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcClosedShell const IfcParse::entity& Ifc4::IfcClosedShell::declaration() const { return *IFC4_IfcClosedShell_type; } const IfcParse::entity& Ifc4::IfcClosedShell::Class() { return *IFC4_IfcClosedShell_type; } Ifc4::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData* e) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcClosedShell_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcClosedShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcCoil boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > Ifc4::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCoil::declaration() const { return *IFC4_IfcCoil_type; } const IfcParse::entity& Ifc4::IfcCoil::Class() { return *IFC4_IfcCoil_type; } Ifc4::IfcCoil::IfcCoil(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCoil_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoil_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCoilTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCoilType ::Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilType::PredefinedType() const { return ::Ifc4::IfcCoilTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCoilType::setPredefinedType(::Ifc4::IfcCoilTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCoilTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCoilType::declaration() const { return *IFC4_IfcCoilType_type; } const IfcParse::entity& Ifc4::IfcCoilType::Class() { return *IFC4_IfcCoilType_type; } Ifc4::IfcCoilType::IfcCoilType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCoilType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoilType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCoilTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcColourRgb double Ifc4::IfcColourRgb::Red() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcColourRgb::setRed(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcColourRgb::Green() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcColourRgb::setGreen(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcColourRgb::Blue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcColourRgb::setBlue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcColourRgb::declaration() const { return *IFC4_IfcColourRgb_type; } const IfcParse::entity& Ifc4::IfcColourRgb::Class() { return *IFC4_IfcColourRgb_type; } Ifc4::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData* e) : IfcColourSpecification((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColourRgb_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColourRgb_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Red));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Green));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Blue));data_->setArgument(3,attr);} } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcColourRgbList::declaration() const { return *IFC4_IfcColourRgbList_type; } const IfcParse::entity& Ifc4::IfcColourRgbList::Class() { return *IFC4_IfcColourRgbList_type; } Ifc4::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColourRgbList_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColourRgbList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ColourList));data_->setArgument(0,attr);} } // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcColourSpecification::declaration() const { return *IFC4_IfcColourSpecification_type; } const IfcParse::entity& Ifc4::IfcColourSpecification::Class() { return *IFC4_IfcColourSpecification_type; } Ifc4::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColourSpecification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColourSpecification_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcColumn boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > Ifc4::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcColumn::declaration() const { return *IFC4_IfcColumn_type; } const IfcParse::entity& Ifc4::IfcColumn::Class() { return *IFC4_IfcColumn_type; } Ifc4::IfcColumn::IfcColumn(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColumn_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColumn_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcColumnTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcColumnStandardCase const IfcParse::entity& Ifc4::IfcColumnStandardCase::declaration() const { return *IFC4_IfcColumnStandardCase_type; } const IfcParse::entity& Ifc4::IfcColumnStandardCase::Class() { return *IFC4_IfcColumnStandardCase_type; } Ifc4::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData* e) : IfcColumn((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColumnStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColumnStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcColumnTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcColumnType ::Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnType::PredefinedType() const { return ::Ifc4::IfcColumnTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcColumnType::setPredefinedType(::Ifc4::IfcColumnTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcColumnTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcColumnType::declaration() const { return *IFC4_IfcColumnType_type; } const IfcParse::entity& Ifc4::IfcColumnType::Class() { return *IFC4_IfcColumnType_type; } Ifc4::IfcColumnType::IfcColumnType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcColumnType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcColumnType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcColumnTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCommunicationsAppliance::declaration() const { return *IFC4_IfcCommunicationsAppliance_type; } const IfcParse::entity& Ifc4::IfcCommunicationsAppliance::Class() { return *IFC4_IfcCommunicationsAppliance_type; } Ifc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCommunicationsAppliance_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCommunicationsAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCommunicationsApplianceType ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCommunicationsApplianceType::declaration() const { return *IFC4_IfcCommunicationsApplianceType_type; } const IfcParse::entity& Ifc4::IfcCommunicationsApplianceType::Class() { return *IFC4_IfcCommunicationsApplianceType_type; } Ifc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCommunicationsApplianceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCommunicationsApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcComplexProperty std::string Ifc4::IfcComplexProperty::UsageName() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcComplexProperty::setUsageName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcComplexProperty::declaration() const { return *IFC4_IfcComplexProperty_type; } const IfcParse::entity& Ifc4::IfcComplexProperty::Class() { return *IFC4_IfcComplexProperty_type; } Ifc4::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData* e) : IfcProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcComplexProperty_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcComplexProperty_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_UsageName));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_HasProperties)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcComplexPropertyTemplate::declaration() const { return *IFC4_IfcComplexPropertyTemplate_type; } const IfcParse::entity& Ifc4::IfcComplexPropertyTemplate::Class() { return *IFC4_IfcComplexPropertyTemplate_type; } Ifc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcComplexPropertyTemplate_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcComplexPropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_UsageName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_UsageName));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_TemplateType,::Ifc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_HasPropertyTemplates) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcCompositeCurve aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr Ifc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcCompositeCurveSegment >(); } void Ifc4::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::logic::tribool Ifc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(1); return v; } void Ifc4::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCompositeCurve::declaration() const { return *IFC4_IfcCompositeCurve_type; } const IfcParse::entity& Ifc4::IfcCompositeCurve::Class() { return *IFC4_IfcCompositeCurve_type; } Ifc4::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompositeCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompositeCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcCompositeCurveOnSurface const IfcParse::entity& Ifc4::IfcCompositeCurveOnSurface::declaration() const { return *IFC4_IfcCompositeCurveOnSurface_type; } const IfcParse::entity& Ifc4::IfcCompositeCurveOnSurface::Class() { return *IFC4_IfcCompositeCurveOnSurface_type; } Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData* e) : IfcCompositeCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompositeCurveOnSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompositeCurveOnSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcCompositeCurveSegment ::Ifc4::IfcTransitionCode::Value Ifc4::IfcCompositeCurveSegment::Transition() const { return ::Ifc4::IfcTransitionCode::FromString(*data_->getArgument(0)); } void Ifc4::IfcCompositeCurveSegment::setTransition(::Ifc4::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc4::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcCurve* Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcCompositeCurve::list::ptr Ifc4::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4_IfcCompositeCurve_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::declaration() const { return *IFC4_IfcCompositeCurveSegment_type; } const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::Class() { return *IFC4_IfcCompositeCurveSegment_type; } Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompositeCurveSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);} } // Function implementations for IfcCompositeProfileDef aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCompositeProfileDef::declaration() const { return *IFC4_IfcCompositeProfileDef_type; } const IfcParse::entity& Ifc4::IfcCompositeProfileDef::Class() { return *IFC4_IfcCompositeProfileDef_type; } Ifc4::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompositeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompositeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Profiles)->generalize());data_->setArgument(2,attr);} if (v4_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Label));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCompressor boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > Ifc4::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCompressor::declaration() const { return *IFC4_IfcCompressor_type; } const IfcParse::entity& Ifc4::IfcCompressor::Class() { return *IFC4_IfcCompressor_type; } Ifc4::IfcCompressor::IfcCompressor(IfcEntityInstanceData* e) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompressor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompressor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCompressorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCompressorType ::Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorType::PredefinedType() const { return ::Ifc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCompressorType::setPredefinedType(::Ifc4::IfcCompressorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCompressorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCompressorType::declaration() const { return *IFC4_IfcCompressorType_type; } const IfcParse::entity& Ifc4::IfcCompressorType::Class() { return *IFC4_IfcCompressorType_type; } Ifc4::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCompressorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCompressorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCompressorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCondenser boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > Ifc4::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCondenser::declaration() const { return *IFC4_IfcCondenser_type; } const IfcParse::entity& Ifc4::IfcCondenser::Class() { return *IFC4_IfcCondenser_type; } Ifc4::IfcCondenser::IfcCondenser(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCondenser_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCondenser_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCondenserTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCondenserType ::Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserType::PredefinedType() const { return ::Ifc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCondenserType::setPredefinedType(::Ifc4::IfcCondenserTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCondenserTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCondenserType::declaration() const { return *IFC4_IfcCondenserType_type; } const IfcParse::entity& Ifc4::IfcCondenserType::Class() { return *IFC4_IfcCondenserType_type; } Ifc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCondenserType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic ::Ifc4::IfcAxis2Placement* Ifc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcConic::setPosition(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcConic::declaration() const { return *IFC4_IfcConic_type; } const IfcParse::entity& Ifc4::IfcConic::Class() { return *IFC4_IfcConic_type; } Ifc4::IfcConic::IfcConic(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConic_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConic::IfcConic(::Ifc4::IfcAxis2Placement* v1_Position) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConic_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcConnectedFaceSet aggregate_of< ::Ifc4::IfcFace >::ptr Ifc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcFace >(); } void Ifc4::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4::IfcFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcConnectedFaceSet::declaration() const { return *IFC4_IfcConnectedFaceSet_type; } const IfcParse::entity& Ifc4::IfcConnectedFaceSet::Class() { return *IFC4_IfcConnectedFaceSet_type; } Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectedFaceSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry ::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcConnectionCurveGeometry::declaration() const { return *IFC4_IfcConnectionCurveGeometry_type; } const IfcParse::entity& Ifc4::IfcConnectionCurveGeometry::Class() { return *IFC4_IfcConnectionCurveGeometry_type; } Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData* e) : IfcConnectionGeometry((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectionCurveGeometry_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionCurveGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CurveOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CurveOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionGeometry const IfcParse::entity& Ifc4::IfcConnectionGeometry::declaration() const { return *IFC4_IfcConnectionGeometry_type; } const IfcParse::entity& Ifc4::IfcConnectionGeometry::Class() { return *IFC4_IfcConnectionGeometry_type; } Ifc4::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcConnectionGeometry_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionGeometry_type); } // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcConnectionPointEccentricity::declaration() const { return *IFC4_IfcConnectionPointEccentricity_type; } const IfcParse::entity& Ifc4::IfcConnectionPointEccentricity::Class() { return *IFC4_IfcConnectionPointEccentricity_type; } Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData* e) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectionPointEccentricity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry ::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcConnectionPointGeometry::declaration() const { return *IFC4_IfcConnectionPointGeometry_type; } const IfcParse::entity& Ifc4::IfcConnectionPointGeometry::Class() { return *IFC4_IfcConnectionPointGeometry_type; } Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData* e) : IfcConnectionGeometry((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectionPointGeometry_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcConnectionSurfaceGeometry::declaration() const { return *IFC4_IfcConnectionSurfaceGeometry_type; } const IfcParse::entity& Ifc4::IfcConnectionSurfaceGeometry::Class() { return *IFC4_IfcConnectionSurfaceGeometry_type; } Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData* e) : IfcConnectionGeometry((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectionSurfaceGeometry_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcConnectionVolumeGeometry::declaration() const { return *IFC4_IfcConnectionVolumeGeometry_type; } const IfcParse::entity& Ifc4::IfcConnectionVolumeGeometry::Class() { return *IFC4_IfcConnectionVolumeGeometry_type; } Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData* e) : IfcConnectionGeometry((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConnectionVolumeGeometry_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionVolumeGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VolumeOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VolumeOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConstraint std::string Ifc4::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcConstraint::setConstraintGrade(::Ifc4::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcConstraint::setCreatingActor(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcResourceConstraintRelationship::list::ptr Ifc4::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4_IfcResourceConstraintRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcConstraint::declaration() const { return *IFC4_IfcConstraint_type; } const IfcParse::entity& Ifc4::IfcConstraint::Class() { return *IFC4_IfcConstraint_type; } Ifc4::IfcConstraint::IfcConstraint(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResource::declaration() const { return *IFC4_IfcConstructionEquipmentResource_type; } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResource::Class() { return *IFC4_IfcConstructionEquipmentResource_type; } Ifc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionEquipmentResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionEquipmentResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResourceType::declaration() const { return *IFC4_IfcConstructionEquipmentResourceType_type; } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResourceType::Class() { return *IFC4_IfcConstructionEquipmentResourceType_type; } Ifc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionEquipmentResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionEquipmentResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionMaterialResource::declaration() const { return *IFC4_IfcConstructionMaterialResource_type; } const IfcParse::entity& Ifc4::IfcConstructionMaterialResource::Class() { return *IFC4_IfcConstructionMaterialResource_type; } Ifc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionMaterialResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionMaterialResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcConstructionMaterialResourceType::declaration() const { return *IFC4_IfcConstructionMaterialResourceType_type; } const IfcParse::entity& Ifc4::IfcConstructionMaterialResourceType::Class() { return *IFC4_IfcConstructionMaterialResourceType_type; } Ifc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionMaterialResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionMaterialResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionProductResource::declaration() const { return *IFC4_IfcConstructionProductResource_type; } const IfcParse::entity& Ifc4::IfcConstructionProductResource::Class() { return *IFC4_IfcConstructionProductResource_type; } Ifc4::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionProductResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionProductResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcConstructionProductResourceType ::Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcConstructionProductResourceType::setPredefinedType(::Ifc4::IfcConstructionProductResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcConstructionProductResourceType::declaration() const { return *IFC4_IfcConstructionProductResourceType_type; } const IfcParse::entity& Ifc4::IfcConstructionProductResourceType::Class() { return *IFC4_IfcConstructionProductResourceType_type; } Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionProductResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource ::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcResourceTime>(true); } void Ifc4::IfcConstructionResource::setUsage(::Ifc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResource::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcConstructionResource::declaration() const { return *IFC4_IfcConstructionResource_type; } const IfcParse::entity& Ifc4::IfcConstructionResource::Class() { return *IFC4_IfcConstructionResource_type; } Ifc4::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData* e) : IfcResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} } // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionResourceType::declaration() const { return *IFC4_IfcConstructionResourceType_type; } const IfcParse::entity& Ifc4::IfcConstructionResourceType::Class() { return *IFC4_IfcConstructionResourceType_type; } Ifc4::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData* e) : IfcTypeResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConstructionResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);} } // Function implementations for IfcContext boost::optional< std::string > Ifc4::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > Ifc4::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcRepresentationContext >(); } void Ifc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnitAssignment>(true); } void Ifc4::IfcContext::setUnitsInContext(::Ifc4::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcRelDefinesByProperties::list::ptr Ifc4::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4_IfcRelDefinesByProperties_type, 4)->as(); } ::Ifc4::IfcRelDeclares::list::ptr Ifc4::IfcContext::Declares() const { return data_->getInverse(IFC4_IfcRelDeclares_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcContext::declaration() const { return *IFC4_IfcContext_type; } const IfcParse::entity& Ifc4::IfcContext::Class() { return *IFC4_IfcContext_type; } Ifc4::IfcContext::IfcContext(IfcEntityInstanceData* e) : IfcObjectDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcContext_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcContext_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcContextDependentUnit std::string Ifc4::IfcContextDependentUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcContextDependentUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcContextDependentUnit::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcContextDependentUnit::declaration() const { return *IFC4_IfcContextDependentUnit_type; } const IfcParse::entity& Ifc4::IfcContextDependentUnit::Class() { return *IFC4_IfcContextDependentUnit_type; } Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData* e) : IfcNamedUnit((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcContextDependentUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcContextDependentUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);} } // Function implementations for IfcControl boost::optional< std::string > Ifc4::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssignsToControl::list::ptr Ifc4::IfcControl::Controls() const { return data_->getInverse(IFC4_IfcRelAssignsToControl_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcControl::declaration() const { return *IFC4_IfcControl_type; } const IfcParse::entity& Ifc4::IfcControl::Class() { return *IFC4_IfcControl_type; } Ifc4::IfcControl::IfcControl(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcControl_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcController boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > Ifc4::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcController::setPredefinedType(boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcController::declaration() const { return *IFC4_IfcController_type; } const IfcParse::entity& Ifc4::IfcController::Class() { return *IFC4_IfcController_type; } Ifc4::IfcController::IfcController(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcController_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcController_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcControllerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcControllerType ::Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerType::PredefinedType() const { return ::Ifc4::IfcControllerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcControllerType::setPredefinedType(::Ifc4::IfcControllerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcControllerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcControllerType::declaration() const { return *IFC4_IfcControllerType_type; } const IfcParse::entity& Ifc4::IfcControllerType::Class() { return *IFC4_IfcControllerType_type; } Ifc4::IfcControllerType::IfcControllerType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcControllerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcControllerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConversionBasedUnit std::string Ifc4::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcMeasureWithUnit* Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcConversionBasedUnit::declaration() const { return *IFC4_IfcConversionBasedUnit_type; } const IfcParse::entity& Ifc4::IfcConversionBasedUnit::Class() { return *IFC4_IfcConversionBasedUnit_type; } Ifc4::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData* e) : IfcNamedUnit((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConversionBasedUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConversionBasedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ConversionFactor));data_->setArgument(3,attr);} } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcConversionBasedUnitWithOffset::declaration() const { return *IFC4_IfcConversionBasedUnitWithOffset_type; } const IfcParse::entity& Ifc4::IfcConversionBasedUnitWithOffset::Class() { return *IFC4_IfcConversionBasedUnitWithOffset_type; } Ifc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData* e) : IfcConversionBasedUnit((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcConversionBasedUnitWithOffset_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConversionBasedUnitWithOffset_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Name));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ConversionFactor));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConversionOffset));data_->setArgument(4,attr);} } // Function implementations for IfcCooledBeam boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > Ifc4::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCooledBeam::declaration() const { return *IFC4_IfcCooledBeam_type; } const IfcParse::entity& Ifc4::IfcCooledBeam::Class() { return *IFC4_IfcCooledBeam_type; } Ifc4::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCooledBeam_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCooledBeam_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCooledBeamType ::Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCooledBeamType::setPredefinedType(::Ifc4::IfcCooledBeamTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCooledBeamTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCooledBeamType::declaration() const { return *IFC4_IfcCooledBeamType_type; } const IfcParse::entity& Ifc4::IfcCooledBeamType::Class() { return *IFC4_IfcCooledBeamType_type; } Ifc4::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCooledBeamType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCooledBeamType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCooledBeamTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoolingTower boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > Ifc4::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCoolingTower::declaration() const { return *IFC4_IfcCoolingTower_type; } const IfcParse::entity& Ifc4::IfcCoolingTower::Class() { return *IFC4_IfcCoolingTower_type; } Ifc4::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCoolingTower_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoolingTower_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCoolingTowerType ::Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCoolingTowerType::setPredefinedType(::Ifc4::IfcCoolingTowerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCoolingTowerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCoolingTowerType::declaration() const { return *IFC4_IfcCoolingTowerType_type; } const IfcParse::entity& Ifc4::IfcCoolingTowerType::Class() { return *IFC4_IfcCoolingTowerType_type; } Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCoolingTowerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation ::Ifc4::IfcCoordinateReferenceSystemSelect* Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4::IfcCoordinateOperation::setSourceCRS(::Ifc4::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcCoordinateReferenceSystem* Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCoordinateReferenceSystem>(true); } void Ifc4::IfcCoordinateOperation::setTargetCRS(::Ifc4::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCoordinateOperation::declaration() const { return *IFC4_IfcCoordinateOperation_type; } const IfcParse::entity& Ifc4::IfcCoordinateOperation::Class() { return *IFC4_IfcCoordinateOperation_type; } Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcCoordinateOperation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcCoordinateOperation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);} } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcCoordinateOperation::list::ptr Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4_IfcCoordinateOperation_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::declaration() const { return *IFC4_IfcCoordinateReferenceSystem_type; } const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::Class() { return *IFC4_IfcCoordinateReferenceSystem_type; } Ifc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcCoordinateReferenceSystem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcCoordinateReferenceSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GeodeticDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GeodeticDatum));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_VerticalDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VerticalDatum));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcCostItem boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > Ifc4::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > Ifc4::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcCostValue >(); } void Ifc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > Ifc4::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCostItem::declaration() const { return *IFC4_IfcCostItem_type; } const IfcParse::entity& Ifc4::IfcCostItem::Class() { return *IFC4_IfcCostItem_type; } Ifc4::IfcCostItem::IfcCostItem(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCostItem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCostItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcCostItemTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_CostValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_CostValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CostQuantities) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_CostQuantities)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCostSchedule boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > Ifc4::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCostSchedule::declaration() const { return *IFC4_IfcCostSchedule_type; } const IfcParse::entity& Ifc4::IfcCostSchedule::Class() { return *IFC4_IfcCostSchedule_type; } Ifc4::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCostSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCostSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SubmittedOn) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SubmittedOn));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_UpdateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UpdateDate));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcCostValue const IfcParse::entity& Ifc4::IfcCostValue::declaration() const { return *IFC4_IfcCostValue_type; } const IfcParse::entity& Ifc4::IfcCostValue::Class() { return *IFC4_IfcCostValue_type; } Ifc4::IfcCostValue::IfcCostValue(IfcEntityInstanceData* e) : IfcAppliedValue((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCostValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCostValue_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AppliedValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_UnitBasis));data_->setArgument(3,attr);} if (v5_ApplicableDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FixedUntilDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedUntilDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Category));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Condition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Condition));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ArithmeticOperator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_ArithmeticOperator,::Ifc4::IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Components) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Components)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcCovering boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > Ifc4::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4::IfcRelCoversBldgElements::list::ptr Ifc4::IfcCovering::CoversElements() const { return data_->getInverse(IFC4_IfcRelCoversBldgElements_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcCovering::declaration() const { return *IFC4_IfcCovering_type; } const IfcParse::entity& Ifc4::IfcCovering::Class() { return *IFC4_IfcCovering_type; } Ifc4::IfcCovering::IfcCovering(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCovering_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCovering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCoveringTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCoveringType ::Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringType::PredefinedType() const { return ::Ifc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCoveringType::setPredefinedType(::Ifc4::IfcCoveringTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCoveringTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCoveringType::declaration() const { return *IFC4_IfcCoveringType_type; } const IfcParse::entity& Ifc4::IfcCoveringType::Class() { return *IFC4_IfcCoveringType_type; } Ifc4::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCoveringType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoveringType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCoveringTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCrewResource boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > Ifc4::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcCrewResource::declaration() const { return *IFC4_IfcCrewResource_type; } const IfcParse::entity& Ifc4::IfcCrewResource::Class() { return *IFC4_IfcCrewResource_type; } Ifc4::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCrewResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCrewResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcCrewResourceType ::Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcCrewResourceType::setPredefinedType(::Ifc4::IfcCrewResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCrewResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcCrewResourceType::declaration() const { return *IFC4_IfcCrewResourceType_type; } const IfcParse::entity& Ifc4::IfcCrewResourceType::Class() { return *IFC4_IfcCrewResourceType_type; } Ifc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCrewResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcCsgPrimitive3D::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcCsgPrimitive3D::declaration() const { return *IFC4_IfcCsgPrimitive3D_type; } const IfcParse::entity& Ifc4::IfcCsgPrimitive3D::Class() { return *IFC4_IfcCsgPrimitive3D_type; } Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCsgPrimitive3D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid ::Ifc4::IfcCsgSelect* Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCsgSelect>(true); } void Ifc4::IfcCsgSolid::setTreeRootExpression(::Ifc4::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcCsgSolid::declaration() const { return *IFC4_IfcCsgSolid_type; } const IfcParse::entity& Ifc4::IfcCsgSolid::Class() { return *IFC4_IfcCsgSolid_type; } Ifc4::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCsgSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCsgSolid::IfcCsgSolid(::Ifc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship ::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcCurrencyRelationship::setRateSource(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcCurrencyRelationship::declaration() const { return *IFC4_IfcCurrencyRelationship_type; } const IfcParse::entity& Ifc4::IfcCurrencyRelationship::Class() { return *IFC4_IfcCurrencyRelationship_type; } Ifc4::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurrencyRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurrencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingMonetaryUnit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedMonetaryUnit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ExchangeRate));data_->setArgument(4,attr);} if (v6_RateDateTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RateDateTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RateSource));data_->setArgument(6,attr);} } // Function implementations for IfcCurtainWall boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > Ifc4::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCurtainWall::declaration() const { return *IFC4_IfcCurtainWall_type; } const IfcParse::entity& Ifc4::IfcCurtainWall::Class() { return *IFC4_IfcCurtainWall_type; } Ifc4::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurtainWall_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurtainWall_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcCurtainWallType ::Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcCurtainWallType::setPredefinedType(::Ifc4::IfcCurtainWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcCurtainWallTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCurtainWallType::declaration() const { return *IFC4_IfcCurtainWallType_type; } const IfcParse::entity& Ifc4::IfcCurtainWallType::Class() { return *IFC4_IfcCurtainWallType_type; } Ifc4::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurtainWallType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurtainWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCurtainWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCurve const IfcParse::entity& Ifc4::IfcCurve::declaration() const { return *IFC4_IfcCurve_type; } const IfcParse::entity& Ifc4::IfcCurve::Class() { return *IFC4_IfcCurve_type; } Ifc4::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane ::Ifc4::IfcPlane* Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPlane>(true); } void Ifc4::IfcCurveBoundedPlane::setBasisSurface(::Ifc4::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcCurve* Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcCurveBoundedPlane::declaration() const { return *IFC4_IfcCurveBoundedPlane_type; } const IfcParse::entity& Ifc4::IfcCurveBoundedPlane::Class() { return *IFC4_IfcCurveBoundedPlane_type; } Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveBoundedPlane_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4::IfcPlane* v1_BasisSurface, ::Ifc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface ::Ifc4::IfcSurface* Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr Ifc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcBoundaryCurve >(); } void Ifc4::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } bool Ifc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = *data_->getArgument(2); return v; } void Ifc4::IfcCurveBoundedSurface::setImplicitOuter(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcCurveBoundedSurface::declaration() const { return *IFC4_IfcCurveBoundedSurface_type; } const IfcParse::entity& Ifc4::IfcCurveBoundedSurface::Class() { return *IFC4_IfcCurveBoundedSurface_type; } Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveBoundedSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle ::Ifc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4::IfcCurveStyle::setCurveFont(::Ifc4::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcCurveStyle::setCurveWidth(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcCurveStyle::setCurveColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCurveStyle::declaration() const { return *IFC4_IfcCurveStyle_type; } const IfcParse::entity& Ifc4::IfcCurveStyle::Class() { return *IFC4_IfcCurveStyle_type; } Ifc4::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CurveFont));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CurveWidth));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CurveColour));data_->setArgument(3,attr);} if (v5_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ModelOrDraughting));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr Ifc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCurveStyleFontPattern >(); } void Ifc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCurveStyleFont::declaration() const { return *IFC4_IfcCurveStyleFont_type; } const IfcParse::entity& Ifc4::IfcCurveStyleFont::Class() { return *IFC4_IfcCurveStyleFont_type; } Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveStyleFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveStyleFont_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PatternList)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(true); } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcCurveStyleFontAndScaling::declaration() const { return *IFC4_IfcCurveStyleFontAndScaling_type; } const IfcParse::entity& Ifc4::IfcCurveStyleFontAndScaling::Class() { return *IFC4_IfcCurveStyleFontAndScaling_type; } Ifc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveStyleFontAndScaling_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveStyleFontAndScaling_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CurveFont));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CurveFontScaling));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyleFontPattern double Ifc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = *data_->getArgument(0); return v; } void Ifc4::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCurveStyleFontPattern::declaration() const { return *IFC4_IfcCurveStyleFontPattern_type; } const IfcParse::entity& Ifc4::IfcCurveStyleFontPattern::Class() { return *IFC4_IfcCurveStyleFontPattern_type; } Ifc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCurveStyleFontPattern_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveStyleFontPattern_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VisibleSegmentLength));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InvisibleSegmentLength));data_->setArgument(1,attr);} } // Function implementations for IfcCylindricalSurface double Ifc4::IfcCylindricalSurface::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcCylindricalSurface::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcCylindricalSurface::declaration() const { return *IFC4_IfcCylindricalSurface_type; } const IfcParse::entity& Ifc4::IfcCylindricalSurface::Class() { return *IFC4_IfcCylindricalSurface_type; } Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData* e) : IfcElementarySurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcCylindricalSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCylindricalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcDamper boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > Ifc4::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDamper::declaration() const { return *IFC4_IfcDamper_type; } const IfcParse::entity& Ifc4::IfcDamper::Class() { return *IFC4_IfcDamper_type; } Ifc4::IfcDamper::IfcDamper(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDamper_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDamper_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDamperTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDamperType ::Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperType::PredefinedType() const { return ::Ifc4::IfcDamperTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDamperType::setPredefinedType(::Ifc4::IfcDamperTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDamperTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDamperType::declaration() const { return *IFC4_IfcDamperType_type; } const IfcParse::entity& Ifc4::IfcDamperType::Class() { return *IFC4_IfcDamperType_type; } Ifc4::IfcDamperType::IfcDamperType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDamperType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDerivedProfileDef ::Ifc4::IfcProfileDef* Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcDerivedProfileDef::setParentProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcDerivedProfileDef::setOperator(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcDerivedProfileDef::declaration() const { return *IFC4_IfcDerivedProfileDef_type; } const IfcParse::entity& Ifc4::IfcDerivedProfileDef::Class() { return *IFC4_IfcDerivedProfileDef_type; } Ifc4::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDerivedProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDerivedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentProfile));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Operator));data_->setArgument(3,attr);} if (v5_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Label));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcDerivedUnit aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr Ifc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcDerivedUnitElement >(); } void Ifc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnit::UnitType() const { return ::Ifc4::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcDerivedUnit::setUnitType(::Ifc4::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcDerivedUnit::declaration() const { return *IFC4_IfcDerivedUnit_type; } const IfcParse::entity& Ifc4::IfcDerivedUnit::Class() { return *IFC4_IfcDerivedUnit_type; } Ifc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcDerivedUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement ::Ifc4::IfcNamedUnit* Ifc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcDerivedUnitElement::setUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcDerivedUnitElement::declaration() const { return *IFC4_IfcDerivedUnitElement_type; } const IfcParse::entity& Ifc4::IfcDerivedUnitElement::Class() { return *IFC4_IfcDerivedUnitElement_type; } Ifc4::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcDerivedUnitElement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcDerivedUnitElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Unit));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Exponent));data_->setArgument(1,attr);} } // Function implementations for IfcDimensionalExponents int Ifc4::IfcDimensionalExponents::LengthExponent() const { int v = *data_->getArgument(0); return v; } void Ifc4::IfcDimensionalExponents::setLengthExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4::IfcDimensionalExponents::MassExponent() const { int v = *data_->getArgument(1); return v; } void Ifc4::IfcDimensionalExponents::setMassExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } int Ifc4::IfcDimensionalExponents::TimeExponent() const { int v = *data_->getArgument(2); return v; } void Ifc4::IfcDimensionalExponents::setTimeExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } int Ifc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = *data_->getArgument(3); return v; } void Ifc4::IfcDimensionalExponents::setElectricCurrentExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } int Ifc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = *data_->getArgument(4); return v; } void Ifc4::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } int Ifc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = *data_->getArgument(5); return v; } void Ifc4::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } int Ifc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = *data_->getArgument(6); return v; } void Ifc4::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcDimensionalExponents::declaration() const { return *IFC4_IfcDimensionalExponents_type; } const IfcParse::entity& Ifc4::IfcDimensionalExponents::Class() { return *IFC4_IfcDimensionalExponents_type; } Ifc4::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcDimensionalExponents_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcDimensionalExponents_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LengthExponent));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MassExponent));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TimeExponent));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ElectricCurrentExponent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ThermodynamicTemperatureExponent));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_AmountOfSubstanceExponent));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LuminousIntensityExponent));data_->setArgument(6,attr);} } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = *data_->getArgument(0); return v; } void Ifc4::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcDirection::declaration() const { return *IFC4_IfcDirection_type; } const IfcParse::entity& Ifc4::IfcDirection::Class() { return *IFC4_IfcDirection_type; } Ifc4::IfcDirection::IfcDirection(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDirection_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDirection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DirectionRatios));data_->setArgument(0,attr);} } // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDiscreteAccessory::declaration() const { return *IFC4_IfcDiscreteAccessory_type; } const IfcParse::entity& Ifc4::IfcDiscreteAccessory::Class() { return *IFC4_IfcDiscreteAccessory_type; } Ifc4::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDiscreteAccessory_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDiscreteAccessory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDiscreteAccessoryType ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDiscreteAccessoryType::declaration() const { return *IFC4_IfcDiscreteAccessoryType_type; } const IfcParse::entity& Ifc4::IfcDiscreteAccessoryType::Class() { return *IFC4_IfcDiscreteAccessoryType_type; } Ifc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDiscreteAccessoryType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDiscreteAccessoryType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDistributionChamberElement::declaration() const { return *IFC4_IfcDistributionChamberElement_type; } const IfcParse::entity& Ifc4::IfcDistributionChamberElement::Class() { return *IFC4_IfcDistributionChamberElement_type; } Ifc4::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionChamberElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionChamberElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDistributionChamberElementType ::Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDistributionChamberElementType::setPredefinedType(::Ifc4::IfcDistributionChamberElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDistributionChamberElementType::declaration() const { return *IFC4_IfcDistributionChamberElementType_type; } const IfcParse::entity& Ifc4::IfcDistributionChamberElementType::Class() { return *IFC4_IfcDistributionChamberElementType_type; } Ifc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionChamberElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionChamberElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDistributionCircuit const IfcParse::entity& Ifc4::IfcDistributionCircuit::declaration() const { return *IFC4_IfcDistributionCircuit_type; } const IfcParse::entity& Ifc4::IfcDistributionCircuit::Class() { return *IFC4_IfcDistributionCircuit_type; } Ifc4::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData* e) : IfcDistributionSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionCircuit_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionCircuit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcDistributionSystemEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcDistributionControlElement ::Ifc4::IfcRelFlowControlElements::list::ptr Ifc4::IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(IFC4_IfcRelFlowControlElements_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcDistributionControlElement::declaration() const { return *IFC4_IfcDistributionControlElement_type; } const IfcParse::entity& Ifc4::IfcDistributionControlElement::Class() { return *IFC4_IfcDistributionControlElement_type; } Ifc4::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData* e) : IfcDistributionElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionControlElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionControlElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcDistributionControlElementType const IfcParse::entity& Ifc4::IfcDistributionControlElementType::declaration() const { return *IFC4_IfcDistributionControlElementType_type; } const IfcParse::entity& Ifc4::IfcDistributionControlElementType::Class() { return *IFC4_IfcDistributionControlElementType_type; } Ifc4::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData* e) : IfcDistributionElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionControlElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDistributionElement ::Ifc4::IfcRelConnectsPortToElement::list::ptr Ifc4::IfcDistributionElement::HasPorts() const { return data_->getInverse(IFC4_IfcRelConnectsPortToElement_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcDistributionElement::declaration() const { return *IFC4_IfcDistributionElement_type; } const IfcParse::entity& Ifc4::IfcDistributionElement::Class() { return *IFC4_IfcDistributionElement_type; } Ifc4::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcDistributionElementType const IfcParse::entity& Ifc4::IfcDistributionElementType::declaration() const { return *IFC4_IfcDistributionElementType_type; } const IfcParse::entity& Ifc4::IfcDistributionElementType::Class() { return *IFC4_IfcDistributionElementType_type; } Ifc4::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDistributionFlowElement ::Ifc4::IfcRelFlowControlElements::list::ptr Ifc4::IfcDistributionFlowElement::HasControlElements() const { return data_->getInverse(IFC4_IfcRelFlowControlElements_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcDistributionFlowElement::declaration() const { return *IFC4_IfcDistributionFlowElement_type; } const IfcParse::entity& Ifc4::IfcDistributionFlowElement::Class() { return *IFC4_IfcDistributionFlowElement_type; } Ifc4::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData* e) : IfcDistributionElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionFlowElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionFlowElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcDistributionFlowElementType const IfcParse::entity& Ifc4::IfcDistributionFlowElementType::declaration() const { return *IFC4_IfcDistributionFlowElementType_type; } const IfcParse::entity& Ifc4::IfcDistributionFlowElementType::Class() { return *IFC4_IfcDistributionFlowElementType_type; } Ifc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData* e) : IfcDistributionElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionFlowElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionFlowElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDistributionPort boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > Ifc4::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > Ifc4::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDistributionPort::declaration() const { return *IFC4_IfcDistributionPort_type; } const IfcParse::entity& Ifc4::IfcDistributionPort::Class() { return *IFC4_IfcDistributionPort_type; } Ifc4::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData* e) : IfcPort((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionPort_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionPort_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_FlowDirection) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_FlowDirection,::Ifc4::IfcFlowDirectionEnum::ToString(*v8_FlowDirection))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_SystemType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_SystemType,::Ifc4::IfcDistributionSystemEnum::ToString(*v10_SystemType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcDistributionSystem::declaration() const { return *IFC4_IfcDistributionSystem_type; } const IfcParse::entity& Ifc4::IfcDistributionSystem::Class() { return *IFC4_IfcDistributionSystem_type; } Ifc4::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData* e) : IfcSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDistributionSystem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDistributionSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcDistributionSystemEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcDocumentInformation std::string Ifc4::IfcDocumentInformation::Identification() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcDocumentInformation::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcActorSelect >(); } void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } void Ifc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > Ifc4::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } void Ifc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > Ifc4::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4::IfcDocumentReference::list::ptr Ifc4::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4_IfcDocumentReference_type, 4)->as(); } ::Ifc4::IfcDocumentInformationRelationship::list::ptr Ifc4::IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(IFC4_IfcDocumentInformationRelationship_type, 3)->as(); } ::Ifc4::IfcDocumentInformationRelationship::list::ptr Ifc4::IfcDocumentInformation::IsPointer() const { return data_->getInverse(IFC4_IfcDocumentInformationRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcDocumentInformation::declaration() const { return *IFC4_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4::IfcDocumentInformation::Class() { return *IFC4_IfcDocumentInformation_type; } Ifc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcDocumentInformation >(); } void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcDocumentInformationRelationship::declaration() const { return *IFC4_IfcDocumentInformationRelationship_type; } const IfcParse::entity& Ifc4::IfcDocumentInformationRelationship::Class() { return *IFC4_IfcDocumentInformationRelationship_type; } Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDocumentInformationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingDocument));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedDocuments)->generalize());data_->setArgument(3,attr);} if (v5_RelationshipType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RelationshipType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentReference::setReferencedDocument(::Ifc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesDocument_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcDocumentReference::declaration() const { return *IFC4_IfcDocumentReference_type; } const IfcParse::entity& Ifc4::IfcDocumentReference::Class() { return *IFC4_IfcDocumentReference_type; } Ifc4::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDocumentReference_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencedDocument));data_->setArgument(4,attr);} } // Function implementations for IfcDoor boost::optional< double > Ifc4::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > Ifc4::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > Ifc4::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcDoor::setOperationType(boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcDoor::declaration() const { return *IFC4_IfcDoor_type; } const IfcParse::entity& Ifc4::IfcDoor::Class() { return *IFC4_IfcDoor_type; } Ifc4::IfcDoor::IfcDoor(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcDoorTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_OperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_OperationType,::Ifc4::IfcDoorTypeOperationEnum::ToString(*v12_OperationType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4::IfcDoorLiningProperties::declaration() const { return *IFC4_IfcDoorLiningProperties_type; } const IfcParse::entity& Ifc4::IfcDoorLiningProperties::Class() { return *IFC4_IfcDoorLiningProperties_type; } Ifc4::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoorLiningProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoorLiningProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LiningDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LiningDepth));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LiningThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LiningThickness));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ThresholdDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ThresholdDepth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ThresholdThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ThresholdThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_TransomThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_TransomThickness));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_TransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TransomOffset));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LiningOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LiningOffset));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ThresholdOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ThresholdOffset));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_CasingThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_CasingThickness));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_CasingDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_CasingDepth));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ShapeAspectStyle));data_->setArgument(14,attr);} if (v16_LiningToPanelOffsetX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LiningToPanelOffsetX));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LiningToPanelOffsetY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LiningToPanelOffsetY));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDoorPanelProperties::declaration() const { return *IFC4_IfcDoorPanelProperties_type; } const IfcParse::entity& Ifc4::IfcDoorPanelProperties::Class() { return *IFC4_IfcDoorPanelProperties_type; } Ifc4::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoorPanelProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoorPanelProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PanelDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PanelDepth));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PanelOperation,::Ifc4::IfcDoorPanelOperationEnum::ToString(v6_PanelOperation))));data_->setArgument(5,attr);} if (v7_PanelWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_PanelWidth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PanelPosition,::Ifc4::IfcDoorPanelPositionEnum::ToString(v8_PanelPosition))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ShapeAspectStyle));data_->setArgument(8,attr);} } // Function implementations for IfcDoorStandardCase const IfcParse::entity& Ifc4::IfcDoorStandardCase::declaration() const { return *IFC4_IfcDoorStandardCase_type; } const IfcParse::entity& Ifc4::IfcDoorStandardCase::Class() { return *IFC4_IfcDoorStandardCase_type; } Ifc4::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData* e) : IfcDoor((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoorStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoorStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcDoorTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_OperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_OperationType,::Ifc4::IfcDoorTypeOperationEnum::ToString(*v12_OperationType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDoorStyle ::Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyle::OperationType() const { return ::Ifc4::IfcDoorStyleOperationEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDoorStyle::setOperationType(::Ifc4::IfcDoorStyleOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorStyleOperationEnum::ToString(v)));data_->setArgument(8,attr);} } ::Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4::IfcDoorStyleConstructionEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDoorStyle::setConstructionType(::Ifc4::IfcDoorStyleConstructionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorStyleConstructionEnum::ToString(v)));data_->setArgument(9,attr);} } bool Ifc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = *data_->getArgument(10); return v; } void Ifc4::IfcDoorStyle::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } bool Ifc4::IfcDoorStyle::Sizeable() const { bool v = *data_->getArgument(11); return v; } void Ifc4::IfcDoorStyle::setSizeable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcDoorStyle::declaration() const { return *IFC4_IfcDoorStyle_type; } const IfcParse::entity& Ifc4::IfcDoorStyle::Class() { return *IFC4_IfcDoorStyle_type; } Ifc4::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoorStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoorStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_OperationType,::Ifc4::IfcDoorStyleOperationEnum::ToString(v9_OperationType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ConstructionType,::Ifc4::IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcDoorType ::Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorType::PredefinedType() const { return ::Ifc4::IfcDoorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDoorType::setPredefinedType(::Ifc4::IfcDoorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } ::Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorType::OperationType() const { return ::Ifc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcDoorType::setOperationType(::Ifc4::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } void Ifc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcDoorType::declaration() const { return *IFC4_IfcDoorType_type; } const IfcParse::entity& Ifc4::IfcDoorType::Class() { return *IFC4_IfcDoorType_type; } Ifc4::IfcDoorType::IfcDoorType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDoorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDoorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDoorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_OperationType,::Ifc4::IfcDoorTypeOperationEnum::ToString(v11_OperationType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedOperationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedOperationType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcDraughtingPreDefinedColour const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedColour::declaration() const { return *IFC4_IfcDraughtingPreDefinedColour_type; } const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedColour::Class() { return *IFC4_IfcDraughtingPreDefinedColour_type; } Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData* e) : IfcPreDefinedColour((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDraughtingPreDefinedColour_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDraughtingPreDefinedColour_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcDraughtingPreDefinedCurveFont const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedCurveFont::declaration() const { return *IFC4_IfcDraughtingPreDefinedCurveFont_type; } const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedCurveFont::Class() { return *IFC4_IfcDraughtingPreDefinedCurveFont_type; } Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData* e) : IfcPreDefinedCurveFont((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDraughtingPreDefinedCurveFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDraughtingPreDefinedCurveFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcDuctFitting boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > Ifc4::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctFitting::declaration() const { return *IFC4_IfcDuctFitting_type; } const IfcParse::entity& Ifc4::IfcDuctFitting::Class() { return *IFC4_IfcDuctFitting_type; } Ifc4::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData* e) : IfcFlowFitting((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctFitting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDuctFittingType ::Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDuctFittingType::setPredefinedType(::Ifc4::IfcDuctFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDuctFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDuctFittingType::declaration() const { return *IFC4_IfcDuctFittingType_type; } const IfcParse::entity& Ifc4::IfcDuctFittingType::Class() { return *IFC4_IfcDuctFittingType_type; } Ifc4::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctFittingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDuctFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDuctSegment boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > Ifc4::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctSegment::declaration() const { return *IFC4_IfcDuctSegment_type; } const IfcParse::entity& Ifc4::IfcDuctSegment::Class() { return *IFC4_IfcDuctSegment_type; } Ifc4::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData* e) : IfcFlowSegment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDuctSegmentType ::Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDuctSegmentType::setPredefinedType(::Ifc4::IfcDuctSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDuctSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDuctSegmentType::declaration() const { return *IFC4_IfcDuctSegmentType_type; } const IfcParse::entity& Ifc4::IfcDuctSegmentType::Class() { return *IFC4_IfcDuctSegmentType_type; } Ifc4::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctSegmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > Ifc4::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctSilencer::declaration() const { return *IFC4_IfcDuctSilencer_type; } const IfcParse::entity& Ifc4::IfcDuctSilencer::Class() { return *IFC4_IfcDuctSilencer_type; } Ifc4::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData* e) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctSilencer_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctSilencer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDuctSilencerType ::Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcDuctSilencerType::setPredefinedType(::Ifc4::IfcDuctSilencerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDuctSilencerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDuctSilencerType::declaration() const { return *IFC4_IfcDuctSilencerType_type; } const IfcParse::entity& Ifc4::IfcDuctSilencerType::Class() { return *IFC4_IfcDuctSilencerType_type; } Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcDuctSilencerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctSilencerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEdge ::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeStart(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeEnd(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcEdge::declaration() const { return *IFC4_IfcEdge_type; } const IfcParse::entity& Ifc4::IfcEdge::Class() { return *IFC4_IfcEdge_type; } Ifc4::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEdge_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcEdge::IfcEdge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve ::Ifc4::IfcCurve* Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcEdgeCurve::setEdgeGeometry(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcEdgeCurve::declaration() const { return *IFC4_IfcEdgeCurve_type; } const IfcParse::entity& Ifc4::IfcEdgeCurve::Class() { return *IFC4_IfcEdgeCurve_type; } Ifc4::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData* e) : IfcEdge((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEdgeCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEdgeCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EdgeGeometry));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SameSense));data_->setArgument(3,attr);} } // Function implementations for IfcEdgeLoop aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } void Ifc4::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcEdgeLoop::declaration() const { return *IFC4_IfcEdgeLoop_type; } const IfcParse::entity& Ifc4::IfcEdgeLoop::Class() { return *IFC4_IfcEdgeLoop_type; } Ifc4::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEdgeLoop_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEdgeLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > Ifc4::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricAppliance::declaration() const { return *IFC4_IfcElectricAppliance_type; } const IfcParse::entity& Ifc4::IfcElectricAppliance::Class() { return *IFC4_IfcElectricAppliance_type; } Ifc4::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricAppliance_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricAppliance_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricApplianceType ::Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricApplianceType::setPredefinedType(::Ifc4::IfcElectricApplianceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricApplianceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricApplianceType::declaration() const { return *IFC4_IfcElectricApplianceType_type; } const IfcParse::entity& Ifc4::IfcElectricApplianceType::Class() { return *IFC4_IfcElectricApplianceType_type; } Ifc4::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricApplianceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricDistributionBoard::declaration() const { return *IFC4_IfcElectricDistributionBoard_type; } const IfcParse::entity& Ifc4::IfcElectricDistributionBoard::Class() { return *IFC4_IfcElectricDistributionBoard_type; } Ifc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricDistributionBoard_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricDistributionBoard_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricDistributionBoardType ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricDistributionBoardType::declaration() const { return *IFC4_IfcElectricDistributionBoardType_type; } const IfcParse::entity& Ifc4::IfcElectricDistributionBoardType::Class() { return *IFC4_IfcElectricDistributionBoardType_type; } Ifc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricDistributionBoardType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricDistributionBoardType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDevice::declaration() const { return *IFC4_IfcElectricFlowStorageDevice_type; } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDevice::Class() { return *IFC4_IfcElectricFlowStorageDevice_type; } Ifc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData* e) : IfcFlowStorageDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricFlowStorageDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricFlowStorageDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDeviceType::declaration() const { return *IFC4_IfcElectricFlowStorageDeviceType_type; } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDeviceType::Class() { return *IFC4_IfcElectricFlowStorageDeviceType_type; } Ifc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData* e) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricFlowStorageDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > Ifc4::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricGenerator::declaration() const { return *IFC4_IfcElectricGenerator_type; } const IfcParse::entity& Ifc4::IfcElectricGenerator::Class() { return *IFC4_IfcElectricGenerator_type; } Ifc4::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricGenerator_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricGeneratorType ::Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricGeneratorType::setPredefinedType(::Ifc4::IfcElectricGeneratorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricGeneratorType::declaration() const { return *IFC4_IfcElectricGeneratorType_type; } const IfcParse::entity& Ifc4::IfcElectricGeneratorType::Class() { return *IFC4_IfcElectricGeneratorType_type; } Ifc4::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricGeneratorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricGeneratorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricMotor boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > Ifc4::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricMotor::declaration() const { return *IFC4_IfcElectricMotor_type; } const IfcParse::entity& Ifc4::IfcElectricMotor::Class() { return *IFC4_IfcElectricMotor_type; } Ifc4::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricMotor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricMotor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricMotorType ::Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricMotorType::setPredefinedType(::Ifc4::IfcElectricMotorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricMotorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricMotorType::declaration() const { return *IFC4_IfcElectricMotorType_type; } const IfcParse::entity& Ifc4::IfcElectricMotorType::Class() { return *IFC4_IfcElectricMotorType_type; } Ifc4::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricMotorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricMotorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricMotorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > Ifc4::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricTimeControl::declaration() const { return *IFC4_IfcElectricTimeControl_type; } const IfcParse::entity& Ifc4::IfcElectricTimeControl::Class() { return *IFC4_IfcElectricTimeControl_type; } Ifc4::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricTimeControl_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricTimeControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElectricTimeControlType ::Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElectricTimeControlType::setPredefinedType(::Ifc4::IfcElectricTimeControlTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElectricTimeControlType::declaration() const { return *IFC4_IfcElectricTimeControlType_type; } const IfcParse::entity& Ifc4::IfcElectricTimeControlType::Class() { return *IFC4_IfcElectricTimeControlType_type; } Ifc4::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElectricTimeControlType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElectricTimeControlType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElement boost::optional< std::string > Ifc4::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcElement::FillsVoids() const { return data_->getInverse(IFC4_IfcRelFillsElement_type, 5)->as(); } ::Ifc4::IfcRelConnectsElements::list::ptr Ifc4::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4_IfcRelConnectsElements_type, 5)->as(); } ::Ifc4::IfcRelInterferesElements::list::ptr Ifc4::IfcElement::IsInterferedByElements() const { return data_->getInverse(IFC4_IfcRelInterferesElements_type, 5)->as(); } ::Ifc4::IfcRelInterferesElements::list::ptr Ifc4::IfcElement::InterferesElements() const { return data_->getInverse(IFC4_IfcRelInterferesElements_type, 4)->as(); } ::Ifc4::IfcRelProjectsElement::list::ptr Ifc4::IfcElement::HasProjections() const { return data_->getInverse(IFC4_IfcRelProjectsElement_type, 4)->as(); } ::Ifc4::IfcRelReferencedInSpatialStructure::list::ptr Ifc4::IfcElement::ReferencedInStructures() const { return data_->getInverse(IFC4_IfcRelReferencedInSpatialStructure_type, 4)->as(); } ::Ifc4::IfcRelVoidsElement::list::ptr Ifc4::IfcElement::HasOpenings() const { return data_->getInverse(IFC4_IfcRelVoidsElement_type, 4)->as(); } ::Ifc4::IfcRelConnectsWithRealizingElements::list::ptr Ifc4::IfcElement::IsConnectionRealization() const { return data_->getInverse(IFC4_IfcRelConnectsWithRealizingElements_type, 7)->as(); } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcElement::ProvidesBoundaries() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary_type, 5)->as(); } ::Ifc4::IfcRelConnectsElements::list::ptr Ifc4::IfcElement::ConnectedFrom() const { return data_->getInverse(IFC4_IfcRelConnectsElements_type, 6)->as(); } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcElement::ContainedInStructure() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } ::Ifc4::IfcRelCoversBldgElements::list::ptr Ifc4::IfcElement::HasCoverings() const { return data_->getInverse(IFC4_IfcRelCoversBldgElements_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcElement::declaration() const { return *IFC4_IfcElement_type; } const IfcParse::entity& Ifc4::IfcElement::Class() { return *IFC4_IfcElement_type; } Ifc4::IfcElement::IfcElement(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcElementAssembly boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > Ifc4::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > Ifc4::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElementAssembly::declaration() const { return *IFC4_IfcElementAssembly_type; } const IfcParse::entity& Ifc4::IfcElementAssembly::Class() { return *IFC4_IfcElementAssembly_type; } Ifc4::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementAssembly_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementAssembly_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_AssemblyPlace) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_AssemblyPlace,::Ifc4::IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4::IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcElementAssemblyType ::Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcElementAssemblyType::setPredefinedType(::Ifc4::IfcElementAssemblyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcElementAssemblyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElementAssemblyType::declaration() const { return *IFC4_IfcElementAssemblyType_type; } const IfcParse::entity& Ifc4::IfcElementAssemblyType::Class() { return *IFC4_IfcElementAssemblyType_type; } Ifc4::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementAssemblyType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementAssemblyType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcElementComponent const IfcParse::entity& Ifc4::IfcElementComponent::declaration() const { return *IFC4_IfcElementComponent_type; } const IfcParse::entity& Ifc4::IfcElementComponent::Class() { return *IFC4_IfcElementComponent_type; } Ifc4::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementComponent_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementComponent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcElementComponentType const IfcParse::entity& Ifc4::IfcElementComponentType::declaration() const { return *IFC4_IfcElementComponentType_type; } const IfcParse::entity& Ifc4::IfcElementComponentType::Class() { return *IFC4_IfcElementComponentType_type; } Ifc4::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementComponentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementComponentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcElementQuantity::declaration() const { return *IFC4_IfcElementQuantity_type; } const IfcParse::entity& Ifc4::IfcElementQuantity::Class() { return *IFC4_IfcElementQuantity_type; } Ifc4::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData* e) : IfcQuantitySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementQuantity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MethodOfMeasurement) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MethodOfMeasurement));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Quantities)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcElementType boost::optional< std::string > Ifc4::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElementType::declaration() const { return *IFC4_IfcElementType_type; } const IfcParse::entity& Ifc4::IfcElementType::Class() { return *IFC4_IfcElementType_type; } Ifc4::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcElementarySurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcElementarySurface::declaration() const { return *IFC4_IfcElementarySurface_type; } const IfcParse::entity& Ifc4::IfcElementarySurface::Class() { return *IFC4_IfcElementarySurface_type; } Ifc4::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData* e) : IfcSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcElementarySurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcElementarySurface::IfcElementarySurface(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementarySurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcEllipse double Ifc4::IfcEllipse::SemiAxis1() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcEllipse::setSemiAxis1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcEllipse::SemiAxis2() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcEllipse::setSemiAxis2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcEllipse::declaration() const { return *IFC4_IfcEllipse_type; } const IfcParse::entity& Ifc4::IfcEllipse::Class() { return *IFC4_IfcEllipse_type; } Ifc4::IfcEllipse::IfcEllipse(IfcEntityInstanceData* e) : IfcConic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEllipse_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcEllipse::IfcEllipse(::Ifc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEllipse_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SemiAxis1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SemiAxis2));data_->setArgument(2,attr);} } // Function implementations for IfcEllipseProfileDef double Ifc4::IfcEllipseProfileDef::SemiAxis1() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcEllipseProfileDef::setSemiAxis1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcEllipseProfileDef::SemiAxis2() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcEllipseProfileDef::setSemiAxis2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcEllipseProfileDef::declaration() const { return *IFC4_IfcEllipseProfileDef_type; } const IfcParse::entity& Ifc4::IfcEllipseProfileDef::Class() { return *IFC4_IfcEllipseProfileDef_type; } Ifc4::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEllipseProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEllipseProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SemiAxis1));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SemiAxis2));data_->setArgument(4,attr);} } // Function implementations for IfcEnergyConversionDevice const IfcParse::entity& Ifc4::IfcEnergyConversionDevice::declaration() const { return *IFC4_IfcEnergyConversionDevice_type; } const IfcParse::entity& Ifc4::IfcEnergyConversionDevice::Class() { return *IFC4_IfcEnergyConversionDevice_type; } Ifc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEnergyConversionDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEnergyConversionDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcEnergyConversionDeviceType const IfcParse::entity& Ifc4::IfcEnergyConversionDeviceType::declaration() const { return *IFC4_IfcEnergyConversionDeviceType_type; } const IfcParse::entity& Ifc4::IfcEnergyConversionDeviceType::Class() { return *IFC4_IfcEnergyConversionDeviceType_type; } Ifc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEnergyConversionDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEnergyConversionDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEngine boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > Ifc4::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEngine::declaration() const { return *IFC4_IfcEngine_type; } const IfcParse::entity& Ifc4::IfcEngine::Class() { return *IFC4_IfcEngine_type; } Ifc4::IfcEngine::IfcEngine(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEngine_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEngine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcEngineTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEngineType ::Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineType::PredefinedType() const { return ::Ifc4::IfcEngineTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcEngineType::setPredefinedType(::Ifc4::IfcEngineTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEngineTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcEngineType::declaration() const { return *IFC4_IfcEngineType_type; } const IfcParse::entity& Ifc4::IfcEngineType::Class() { return *IFC4_IfcEngineType_type; } Ifc4::IfcEngineType::IfcEngineType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEngineType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEngineType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcEngineTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEvaporativeCooler::declaration() const { return *IFC4_IfcEvaporativeCooler_type; } const IfcParse::entity& Ifc4::IfcEvaporativeCooler::Class() { return *IFC4_IfcEvaporativeCooler_type; } Ifc4::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEvaporativeCooler_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEvaporativeCooler_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEvaporativeCoolerType ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcEvaporativeCoolerType::declaration() const { return *IFC4_IfcEvaporativeCoolerType_type; } const IfcParse::entity& Ifc4::IfcEvaporativeCoolerType::Class() { return *IFC4_IfcEvaporativeCoolerType_type; } Ifc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEvaporativeCoolerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEvaporativeCoolerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvaporator boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > Ifc4::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEvaporator::declaration() const { return *IFC4_IfcEvaporator_type; } const IfcParse::entity& Ifc4::IfcEvaporator::Class() { return *IFC4_IfcEvaporator_type; } Ifc4::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEvaporator_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEvaporator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEvaporatorType ::Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcEvaporatorType::setPredefinedType(::Ifc4::IfcEvaporatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEvaporatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcEvaporatorType::declaration() const { return *IFC4_IfcEvaporatorType_type; } const IfcParse::entity& Ifc4::IfcEvaporatorType::Class() { return *IFC4_IfcEvaporatorType_type; } Ifc4::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEvaporatorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEvaporatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcEvaporatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEvent boost::optional< ::Ifc4::IfcEventTypeEnum::Value > Ifc4::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcEventTime>(true); } void Ifc4::IfcEvent::setEventOccurenceTime(::Ifc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcEvent::declaration() const { return *IFC4_IfcEvent_type; } const IfcParse::entity& Ifc4::IfcEvent::Class() { return *IFC4_IfcEvent_type; } Ifc4::IfcEvent::IfcEvent(IfcEntityInstanceData* e) : IfcProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEvent_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEvent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4::IfcEventTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_EventTriggerType,::Ifc4::IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_UserDefinedEventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedEventTriggerType));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_EventOccurenceTime));data_->setArgument(10,attr);} } // Function implementations for IfcEventTime boost::optional< std::string > Ifc4::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcEventTime::declaration() const { return *IFC4_IfcEventTime_type; } const IfcParse::entity& Ifc4::IfcEventTime::Class() { return *IFC4_IfcEventTime_type; } Ifc4::IfcEventTime::IfcEventTime(IfcEntityInstanceData* e) : IfcSchedulingTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEventTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEventTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ActualDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ActualDate));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EarlyDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EarlyDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LateDate));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleDate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcEventType ::Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventType::PredefinedType() const { return ::Ifc4::IfcEventTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcEventType::setPredefinedType(::Ifc4::IfcEventTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEventTypeEnum::ToString(v)));data_->setArgument(9,attr);} } ::Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventType::EventTriggerType() const { return ::Ifc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcEventType::setEventTriggerType(::Ifc4::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcEventType::declaration() const { return *IFC4_IfcEventType_type; } const IfcParse::entity& Ifc4::IfcEventType::Class() { return *IFC4_IfcEventType_type; } Ifc4::IfcEventType::IfcEventType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcEventType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEventType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcEventTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_EventTriggerType,::Ifc4::IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType))));data_->setArgument(10,attr);} if (v12_UserDefinedEventTriggerType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_UserDefinedEventTriggerType));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcExtendedProperties::declaration() const { return *IFC4_IfcExtendedProperties_type; } const IfcParse::entity& Ifc4::IfcExtendedProperties::Class() { return *IFC4_IfcExtendedProperties_type; } Ifc4::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExtendedProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExtendedProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcExternalInformation const IfcParse::entity& Ifc4::IfcExternalInformation::declaration() const { return *IFC4_IfcExternalInformation_type; } const IfcParse::entity& Ifc4::IfcExternalInformation::Class() { return *IFC4_IfcExternalInformation_type; } Ifc4::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcExternalInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcExternalInformation_type); } // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcExternalReference::declaration() const { return *IFC4_IfcExternalReference_type; } const IfcParse::entity& Ifc4::IfcExternalReference::Class() { return *IFC4_IfcExternalReference_type; } Ifc4::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcExternalReference_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship ::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcExternalReference>(true); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::declaration() const { return *IFC4_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *IFC4_IfcExternalReferenceRelationship_type; } Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcExternalSpatialElement::declaration() const { return *IFC4_IfcExternalSpatialElement_type; } const IfcParse::entity& Ifc4::IfcExternalSpatialElement::Class() { return *IFC4_IfcExternalSpatialElement_type; } Ifc4::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData* e) : IfcExternalSpatialStructureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternalSpatialElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalSpatialElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcExternalSpatialStructureElement const IfcParse::entity& Ifc4::IfcExternalSpatialStructureElement::declaration() const { return *IFC4_IfcExternalSpatialStructureElement_type; } const IfcParse::entity& Ifc4::IfcExternalSpatialStructureElement::Class() { return *IFC4_IfcExternalSpatialStructureElement_type; } Ifc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData* e) : IfcSpatialElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternalSpatialStructureElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternalSpatialStructureElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcExternallyDefinedHatchStyle const IfcParse::entity& Ifc4::IfcExternallyDefinedHatchStyle::declaration() const { return *IFC4_IfcExternallyDefinedHatchStyle_type; } const IfcParse::entity& Ifc4::IfcExternallyDefinedHatchStyle::Class() { return *IFC4_IfcExternallyDefinedHatchStyle_type; } Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternallyDefinedHatchStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternallyDefinedHatchStyle_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternallyDefinedSurfaceStyle const IfcParse::entity& Ifc4::IfcExternallyDefinedSurfaceStyle::declaration() const { return *IFC4_IfcExternallyDefinedSurfaceStyle_type; } const IfcParse::entity& Ifc4::IfcExternallyDefinedSurfaceStyle::Class() { return *IFC4_IfcExternallyDefinedSurfaceStyle_type; } Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternallyDefinedSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternallyDefinedSurfaceStyle_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternallyDefinedTextFont const IfcParse::entity& Ifc4::IfcExternallyDefinedTextFont::declaration() const { return *IFC4_IfcExternallyDefinedTextFont_type; } const IfcParse::entity& Ifc4::IfcExternallyDefinedTextFont::Class() { return *IFC4_IfcExternallyDefinedTextFont_type; } Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExternallyDefinedTextFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid ::Ifc4::IfcDirection* Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolid::declaration() const { return *IFC4_IfcExtrudedAreaSolid_type; } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolid::Class() { return *IFC4_IfcExtrudedAreaSolid_type; } Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExtrudedAreaSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4::IfcProfileDef* Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolidTapered::declaration() const { return *IFC4_IfcExtrudedAreaSolidTapered_type; } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolidTapered::Class() { return *IFC4_IfcExtrudedAreaSolidTapered_type; } Ifc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData* e) : IfcExtrudedAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcExtrudedAreaSolidTapered_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExtrudedAreaSolidTapered_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndSweptArea));data_->setArgument(4,attr);} } // Function implementations for IfcFace aggregate_of< ::Ifc4::IfcFaceBound >::ptr Ifc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcFaceBound >(); } void Ifc4::IfcFace::setBounds(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4::IfcTextureMap::list::ptr Ifc4::IfcFace::HasTextureMaps() const { return data_->getInverse(IFC4_IfcTextureMap_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcFace::declaration() const { return *IFC4_IfcFace_type; } const IfcParse::entity& Ifc4::IfcFace::Class() { return *IFC4_IfcFace_type; } Ifc4::IfcFace::IfcFace(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFace_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFace::IfcFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBasedSurfaceModel aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr Ifc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcConnectedFaceSet >(); } void Ifc4::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcFaceBasedSurfaceModel::declaration() const { return *IFC4_IfcFaceBasedSurfaceModel_type; } const IfcParse::entity& Ifc4::IfcFaceBasedSurfaceModel::Class() { return *IFC4_IfcFaceBasedSurfaceModel_type; } Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFaceBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound ::Ifc4::IfcLoop* Ifc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcLoop>(true); } void Ifc4::IfcFaceBound::setBound(::Ifc4::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcFaceBound::declaration() const { return *IFC4_IfcFaceBound_type; } const IfcParse::entity& Ifc4::IfcFaceBound::Class() { return *IFC4_IfcFaceBound_type; } Ifc4::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFaceBound_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFaceBound::IfcFaceBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceOuterBound const IfcParse::entity& Ifc4::IfcFaceOuterBound::declaration() const { return *IFC4_IfcFaceOuterBound_type; } const IfcParse::entity& Ifc4::IfcFaceOuterBound::Class() { return *IFC4_IfcFaceOuterBound_type; } Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : IfcFaceBound((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFaceOuterBound_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface ::Ifc4::IfcSurface* Ifc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcFaceSurface::setFaceSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcFaceSurface::declaration() const { return *IFC4_IfcFaceSurface_type; } const IfcParse::entity& Ifc4::IfcFaceSurface::Class() { return *IFC4_IfcFaceSurface_type; } Ifc4::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData* e) : IfcFace((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFaceSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bounds)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FaceSurface));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcFacetedBrep const IfcParse::entity& Ifc4::IfcFacetedBrep::declaration() const { return *IFC4_IfcFacetedBrep_type; } const IfcParse::entity& Ifc4::IfcFacetedBrep::Class() { return *IFC4_IfcFacetedBrep_type; } Ifc4::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData* e) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFacetedBrep_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFacetedBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcFacetedBrepWithVoids aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcClosedShell >(); } void Ifc4::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4::IfcClosedShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcFacetedBrepWithVoids::declaration() const { return *IFC4_IfcFacetedBrepWithVoids_type; } const IfcParse::entity& Ifc4::IfcFacetedBrepWithVoids::Class() { return *IFC4_IfcFacetedBrepWithVoids_type; } Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData* e) : IfcFacetedBrep((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFacetedBrepWithVoids_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFacetedBrepWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Voids)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcFailureConnectionCondition::declaration() const { return *IFC4_IfcFailureConnectionCondition_type; } const IfcParse::entity& Ifc4::IfcFailureConnectionCondition::Class() { return *IFC4_IfcFailureConnectionCondition_type; } Ifc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData* e) : IfcStructuralConnectionCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFailureConnectionCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFailureConnectionCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_TensionFailureX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TensionFailureX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_TensionFailureY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TensionFailureY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TensionFailureZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TensionFailureZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_CompressionFailureX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_CompressionFailureX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_CompressionFailureY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CompressionFailureY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_CompressionFailureZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_CompressionFailureZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcFan boost::optional< ::Ifc4::IfcFanTypeEnum::Value > Ifc4::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFan::declaration() const { return *IFC4_IfcFan_type; } const IfcParse::entity& Ifc4::IfcFan::Class() { return *IFC4_IfcFan_type; } Ifc4::IfcFan::IfcFan(IfcEntityInstanceData* e) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFan_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFan_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFanTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFanType ::Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanType::PredefinedType() const { return ::Ifc4::IfcFanTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFanType::setPredefinedType(::Ifc4::IfcFanTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFanTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFanType::declaration() const { return *IFC4_IfcFanType_type; } const IfcParse::entity& Ifc4::IfcFanType::Class() { return *IFC4_IfcFanType_type; } Ifc4::IfcFanType::IfcFanType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFanType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFanType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFanTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFastener boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > Ifc4::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFastener::declaration() const { return *IFC4_IfcFastener_type; } const IfcParse::entity& Ifc4::IfcFastener::Class() { return *IFC4_IfcFastener_type; } Ifc4::IfcFastener::IfcFastener(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFastener_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFastener_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFastenerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFastenerType ::Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerType::PredefinedType() const { return ::Ifc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFastenerType::setPredefinedType(::Ifc4::IfcFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFastenerType::declaration() const { return *IFC4_IfcFastenerType_type; } const IfcParse::entity& Ifc4::IfcFastenerType::Class() { return *IFC4_IfcFastenerType_type; } Ifc4::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFastenerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFastenerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFeatureElement const IfcParse::entity& Ifc4::IfcFeatureElement::declaration() const { return *IFC4_IfcFeatureElement_type; } const IfcParse::entity& Ifc4::IfcFeatureElement::Class() { return *IFC4_IfcFeatureElement_type; } Ifc4::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFeatureElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFeatureElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFeatureElementAddition ::Ifc4::IfcRelProjectsElement::list::ptr Ifc4::IfcFeatureElementAddition::ProjectsElements() const { return data_->getInverse(IFC4_IfcRelProjectsElement_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcFeatureElementAddition::declaration() const { return *IFC4_IfcFeatureElementAddition_type; } const IfcParse::entity& Ifc4::IfcFeatureElementAddition::Class() { return *IFC4_IfcFeatureElementAddition_type; } Ifc4::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData* e) : IfcFeatureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFeatureElementAddition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFeatureElementAddition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFeatureElementSubtraction ::Ifc4::IfcRelVoidsElement::list::ptr Ifc4::IfcFeatureElementSubtraction::VoidsElements() const { return data_->getInverse(IFC4_IfcRelVoidsElement_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::declaration() const { return *IFC4_IfcFeatureElementSubtraction_type; } const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::Class() { return *IFC4_IfcFeatureElementSubtraction_type; } Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData* e) : IfcFeatureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFeatureElementSubtraction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcFillStyleSelect >(); } void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcFillAreaStyle::declaration() const { return *IFC4_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4::IfcFillAreaStyle::Class() { return *IFC4_IfcFillAreaStyle_type; } Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveStyle>(true); } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcHatchLineDistanceSelect* Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcHatchLineDistanceSelect>(true); } void Ifc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPatternStart(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcFillAreaStyleHatching::declaration() const { return *IFC4_IfcFillAreaStyleHatching_type; } const IfcParse::entity& Ifc4::IfcFillAreaStyleHatching::Class() { return *IFC4_IfcFillAreaStyleHatching_type; } Ifc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFillAreaStyleHatching_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyleHatching_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_HatchLineAppearance));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartOfNextHatchLine));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_PointOfReferenceHatchLine));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_PatternStart));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HatchLineAngle));data_->setArgument(4,attr);} } // Function implementations for IfcFillAreaStyleTiles aggregate_of< ::Ifc4::IfcVector >::ptr Ifc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcVector >(); } void Ifc4::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4::IfcVector >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcStyledItem >::ptr Ifc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcStyledItem >(); } void Ifc4::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4::IfcStyledItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } double Ifc4::IfcFillAreaStyleTiles::TilingScale() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcFillAreaStyleTiles::setTilingScale(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcFillAreaStyleTiles::declaration() const { return *IFC4_IfcFillAreaStyleTiles_type; } const IfcParse::entity& Ifc4::IfcFillAreaStyleTiles::Class() { return *IFC4_IfcFillAreaStyleTiles_type; } Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFillAreaStyleTiles_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyleTiles_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TilingPattern)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Tiles)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TilingScale));data_->setArgument(2,attr);} } // Function implementations for IfcFilter boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > Ifc4::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFilter::declaration() const { return *IFC4_IfcFilter_type; } const IfcParse::entity& Ifc4::IfcFilter::Class() { return *IFC4_IfcFilter_type; } Ifc4::IfcFilter::IfcFilter(IfcEntityInstanceData* e) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFilter_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFilter_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFilterTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFilterType ::Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterType::PredefinedType() const { return ::Ifc4::IfcFilterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFilterType::setPredefinedType(::Ifc4::IfcFilterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFilterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFilterType::declaration() const { return *IFC4_IfcFilterType_type; } const IfcParse::entity& Ifc4::IfcFilterType::Class() { return *IFC4_IfcFilterType_type; } Ifc4::IfcFilterType::IfcFilterType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFilterType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFilterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFilterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminal::declaration() const { return *IFC4_IfcFireSuppressionTerminal_type; } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminal::Class() { return *IFC4_IfcFireSuppressionTerminal_type; } Ifc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFireSuppressionTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFireSuppressionTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminalType::declaration() const { return *IFC4_IfcFireSuppressionTerminalType_type; } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminalType::Class() { return *IFC4_IfcFireSuppressionTerminalType_type; } Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFireSuppressionTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcFixedReferenceSweptAreaSolid::declaration() const { return *IFC4_IfcFixedReferenceSweptAreaSolid_type; } const IfcParse::entity& Ifc4::IfcFixedReferenceSweptAreaSolid::Class() { return *IFC4_IfcFixedReferenceSweptAreaSolid_type; } Ifc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData* e) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFixedReferenceSweptAreaSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFixedReferenceSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);} if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FixedReference));data_->setArgument(5,attr);} } // Function implementations for IfcFlowController const IfcParse::entity& Ifc4::IfcFlowController::declaration() const { return *IFC4_IfcFlowController_type; } const IfcParse::entity& Ifc4::IfcFlowController::Class() { return *IFC4_IfcFlowController_type; } Ifc4::IfcFlowController::IfcFlowController(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowController_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowController_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowControllerType const IfcParse::entity& Ifc4::IfcFlowControllerType::declaration() const { return *IFC4_IfcFlowControllerType_type; } const IfcParse::entity& Ifc4::IfcFlowControllerType::Class() { return *IFC4_IfcFlowControllerType_type; } Ifc4::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowControllerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowControllerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowFitting const IfcParse::entity& Ifc4::IfcFlowFitting::declaration() const { return *IFC4_IfcFlowFitting_type; } const IfcParse::entity& Ifc4::IfcFlowFitting::Class() { return *IFC4_IfcFlowFitting_type; } Ifc4::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowFitting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowFittingType const IfcParse::entity& Ifc4::IfcFlowFittingType::declaration() const { return *IFC4_IfcFlowFittingType_type; } const IfcParse::entity& Ifc4::IfcFlowFittingType::Class() { return *IFC4_IfcFlowFittingType_type; } Ifc4::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowFittingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > Ifc4::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFlowInstrument::declaration() const { return *IFC4_IfcFlowInstrument_type; } const IfcParse::entity& Ifc4::IfcFlowInstrument::Class() { return *IFC4_IfcFlowInstrument_type; } Ifc4::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowInstrument_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowInstrument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowInstrumentType ::Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFlowInstrumentType::setPredefinedType(::Ifc4::IfcFlowInstrumentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFlowInstrumentType::declaration() const { return *IFC4_IfcFlowInstrumentType_type; } const IfcParse::entity& Ifc4::IfcFlowInstrumentType::Class() { return *IFC4_IfcFlowInstrumentType_type; } Ifc4::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowInstrumentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowInstrumentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFlowMeter boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > Ifc4::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFlowMeter::declaration() const { return *IFC4_IfcFlowMeter_type; } const IfcParse::entity& Ifc4::IfcFlowMeter::Class() { return *IFC4_IfcFlowMeter_type; } Ifc4::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowMeter_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowMeter_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowMeterType ::Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFlowMeterType::setPredefinedType(::Ifc4::IfcFlowMeterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFlowMeterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFlowMeterType::declaration() const { return *IFC4_IfcFlowMeterType_type; } const IfcParse::entity& Ifc4::IfcFlowMeterType::Class() { return *IFC4_IfcFlowMeterType_type; } Ifc4::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowMeterType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowMeterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFlowMeterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFlowMovingDevice const IfcParse::entity& Ifc4::IfcFlowMovingDevice::declaration() const { return *IFC4_IfcFlowMovingDevice_type; } const IfcParse::entity& Ifc4::IfcFlowMovingDevice::Class() { return *IFC4_IfcFlowMovingDevice_type; } Ifc4::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowMovingDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowMovingDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowMovingDeviceType const IfcParse::entity& Ifc4::IfcFlowMovingDeviceType::declaration() const { return *IFC4_IfcFlowMovingDeviceType_type; } const IfcParse::entity& Ifc4::IfcFlowMovingDeviceType::Class() { return *IFC4_IfcFlowMovingDeviceType_type; } Ifc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowMovingDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowMovingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowSegment const IfcParse::entity& Ifc4::IfcFlowSegment::declaration() const { return *IFC4_IfcFlowSegment_type; } const IfcParse::entity& Ifc4::IfcFlowSegment::Class() { return *IFC4_IfcFlowSegment_type; } Ifc4::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowSegmentType const IfcParse::entity& Ifc4::IfcFlowSegmentType::declaration() const { return *IFC4_IfcFlowSegmentType_type; } const IfcParse::entity& Ifc4::IfcFlowSegmentType::Class() { return *IFC4_IfcFlowSegmentType_type; } Ifc4::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowSegmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowStorageDevice const IfcParse::entity& Ifc4::IfcFlowStorageDevice::declaration() const { return *IFC4_IfcFlowStorageDevice_type; } const IfcParse::entity& Ifc4::IfcFlowStorageDevice::Class() { return *IFC4_IfcFlowStorageDevice_type; } Ifc4::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowStorageDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowStorageDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowStorageDeviceType const IfcParse::entity& Ifc4::IfcFlowStorageDeviceType::declaration() const { return *IFC4_IfcFlowStorageDeviceType_type; } const IfcParse::entity& Ifc4::IfcFlowStorageDeviceType::Class() { return *IFC4_IfcFlowStorageDeviceType_type; } Ifc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowStorageDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowStorageDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowTerminal const IfcParse::entity& Ifc4::IfcFlowTerminal::declaration() const { return *IFC4_IfcFlowTerminal_type; } const IfcParse::entity& Ifc4::IfcFlowTerminal::Class() { return *IFC4_IfcFlowTerminal_type; } Ifc4::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowTerminalType const IfcParse::entity& Ifc4::IfcFlowTerminalType::declaration() const { return *IFC4_IfcFlowTerminalType_type; } const IfcParse::entity& Ifc4::IfcFlowTerminalType::Class() { return *IFC4_IfcFlowTerminalType_type; } Ifc4::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFlowTreatmentDevice const IfcParse::entity& Ifc4::IfcFlowTreatmentDevice::declaration() const { return *IFC4_IfcFlowTreatmentDevice_type; } const IfcParse::entity& Ifc4::IfcFlowTreatmentDevice::Class() { return *IFC4_IfcFlowTreatmentDevice_type; } Ifc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData* e) : IfcDistributionFlowElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowTreatmentDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowTreatmentDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFlowTreatmentDeviceType const IfcParse::entity& Ifc4::IfcFlowTreatmentDeviceType::declaration() const { return *IFC4_IfcFlowTreatmentDeviceType_type; } const IfcParse::entity& Ifc4::IfcFlowTreatmentDeviceType::Class() { return *IFC4_IfcFlowTreatmentDeviceType_type; } Ifc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData* e) : IfcDistributionFlowElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFlowTreatmentDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFlowTreatmentDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFooting boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > Ifc4::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFooting::declaration() const { return *IFC4_IfcFooting_type; } const IfcParse::entity& Ifc4::IfcFooting::Class() { return *IFC4_IfcFooting_type; } Ifc4::IfcFooting::IfcFooting(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFooting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFooting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFootingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFootingType ::Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingType::PredefinedType() const { return ::Ifc4::IfcFootingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFootingType::setPredefinedType(::Ifc4::IfcFootingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcFootingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcFootingType::declaration() const { return *IFC4_IfcFootingType_type; } const IfcParse::entity& Ifc4::IfcFootingType::Class() { return *IFC4_IfcFootingType_type; } Ifc4::IfcFootingType::IfcFootingType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFootingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFootingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFootingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFurnishingElement const IfcParse::entity& Ifc4::IfcFurnishingElement::declaration() const { return *IFC4_IfcFurnishingElement_type; } const IfcParse::entity& Ifc4::IfcFurnishingElement::Class() { return *IFC4_IfcFurnishingElement_type; } Ifc4::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFurnishingElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFurnishingElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFurnishingElementType const IfcParse::entity& Ifc4::IfcFurnishingElementType::declaration() const { return *IFC4_IfcFurnishingElementType_type; } const IfcParse::entity& Ifc4::IfcFurnishingElementType::Class() { return *IFC4_IfcFurnishingElementType_type; } Ifc4::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFurnishingElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFurnishingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFurniture boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFurniture::declaration() const { return *IFC4_IfcFurniture_type; } const IfcParse::entity& Ifc4::IfcFurniture::Class() { return *IFC4_IfcFurniture_type; } Ifc4::IfcFurniture::IfcFurniture(IfcEntityInstanceData* e) : IfcFurnishingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFurniture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFurniture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcFurnitureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFurnitureType ::Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFurnitureType::setAssemblyPlace(::Ifc4::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcFurnitureType::declaration() const { return *IFC4_IfcFurnitureType_type; } const IfcParse::entity& Ifc4::IfcFurnitureType::Class() { return *IFC4_IfcFurnitureType_type; } Ifc4::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData* e) : IfcFurnishingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcFurnitureType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFurnitureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_AssemblyPlace,::Ifc4::IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace))));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcFurnitureTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcGeographicElement boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > Ifc4::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcGeographicElement::declaration() const { return *IFC4_IfcGeographicElement_type; } const IfcParse::entity& Ifc4::IfcGeographicElement::Class() { return *IFC4_IfcGeographicElement_type; } Ifc4::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeographicElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeographicElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcGeographicElementType ::Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcGeographicElementType::setPredefinedType(::Ifc4::IfcGeographicElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcGeographicElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcGeographicElementType::declaration() const { return *IFC4_IfcGeographicElementType_type; } const IfcParse::entity& Ifc4::IfcGeographicElementType::Class() { return *IFC4_IfcGeographicElementType_type; } Ifc4::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeographicElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeographicElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcGeographicElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcGeometricCurveSet const IfcParse::entity& Ifc4::IfcGeometricCurveSet::declaration() const { return *IFC4_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4::IfcGeometricCurveSet::Class() { return *IFC4_IfcGeometricCurveSet_type; } Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcGeometricRepresentationSubContext::list::ptr Ifc4::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4_IfcGeometricRepresentationSubContext_type, 6)->as(); } ::Ifc4::IfcCoordinateOperation::list::ptr Ifc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return data_->getInverse(IFC4_IfcCoordinateOperation_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::declaration() const { return *IFC4_IfcGeometricRepresentationContext_type; } const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::Class() { return *IFC4_IfcGeometricRepresentationContext_type; } Ifc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData* e) : IfcRepresentationContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricRepresentationContext_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CoordinateSpaceDimension));data_->setArgument(2,attr);} if (v4_Precision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Precision));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_WorldCoordinateSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TrueNorth));data_->setArgument(5,attr);} } // Function implementations for IfcGeometricRepresentationItem const IfcParse::entity& Ifc4::IfcGeometricRepresentationItem::declaration() const { return *IFC4_IfcGeometricRepresentationItem_type; } const IfcParse::entity& Ifc4::IfcGeometricRepresentationItem::Class() { return *IFC4_IfcGeometricRepresentationItem_type; } Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricRepresentationItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(true); } void Ifc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4_IfcGeometricRepresentationSubContext_type; } const IfcParse::entity& Ifc4::IfcGeometricRepresentationSubContext::Class() { return *IFC4_IfcGeometricRepresentationSubContext_type; } Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData* e) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricRepresentationSubContext_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcGeometricSetSelect >(); } void Ifc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcGeometricSet::declaration() const { return *IFC4_IfcGeometricSet_type; } const IfcParse::entity& Ifc4::IfcGeometricSet::Class() { return *IFC4_IfcGeometricSet_type; } Ifc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGrid aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > Ifc4::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcGridTypeEnum::Value > Ifc4::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcGrid::ContainedInStructure() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcGrid::declaration() const { return *IFC4_IfcGrid_type; } const IfcParse::entity& Ifc4::IfcGrid::Class() { return *IFC4_IfcGrid_type; } Ifc4::IfcGrid::IfcGrid(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGrid_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGrid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UAxes)->generalize());data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VAxes)->generalize());data_->setArgument(8,attr);} if (v10_WAxes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_WAxes)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcGridTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcGridAxis::setAxisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcGrid::list::ptr Ifc4::IfcGridAxis::PartOfW() const { return data_->getInverse(IFC4_IfcGrid_type, 9)->as(); } ::Ifc4::IfcGrid::list::ptr Ifc4::IfcGridAxis::PartOfV() const { return data_->getInverse(IFC4_IfcGrid_type, 8)->as(); } ::Ifc4::IfcGrid::list::ptr Ifc4::IfcGridAxis::PartOfU() const { return data_->getInverse(IFC4_IfcGrid_type, 7)->as(); } ::Ifc4::IfcVirtualGridIntersection::list::ptr Ifc4::IfcGridAxis::HasIntersections() const { return data_->getInverse(IFC4_IfcVirtualGridIntersection_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcGridAxis::declaration() const { return *IFC4_IfcGridAxis_type; } const IfcParse::entity& Ifc4::IfcGridAxis::Class() { return *IFC4_IfcGridAxis_type; } Ifc4::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcGridAxis_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement ::Ifc4::IfcVirtualGridIntersection* Ifc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVirtualGridIntersection>(true); } void Ifc4::IfcGridPlacement::setPlacementLocation(::Ifc4::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcGridPlacementDirectionSelect* Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcGridPlacementDirectionSelect>(true); } void Ifc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcGridPlacement::declaration() const { return *IFC4_IfcGridPlacement_type; } const IfcParse::entity& Ifc4::IfcGridPlacement::Class() { return *IFC4_IfcGridPlacement_type; } Ifc4::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData* e) : IfcObjectPlacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGridPlacement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcGridPlacement::IfcGridPlacement(::Ifc4::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGridPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementLocation));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementRefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcGroup ::Ifc4::IfcRelAssignsToGroup::list::ptr Ifc4::IfcGroup::IsGroupedBy() const { return data_->getInverse(IFC4_IfcRelAssignsToGroup_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcGroup::declaration() const { return *IFC4_IfcGroup_type; } const IfcParse::entity& Ifc4::IfcGroup::Class() { return *IFC4_IfcGroup_type; } Ifc4::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcGroup_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid ::Ifc4::IfcSurface* Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcHalfSpaceSolid::setBaseSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcHalfSpaceSolid::declaration() const { return *IFC4_IfcHalfSpaceSolid_type; } const IfcParse::entity& Ifc4::IfcHalfSpaceSolid::Class() { return *IFC4_IfcHalfSpaceSolid_type; } Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcHalfSpaceSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcHalfSpaceSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));data_->setArgument(1,attr);} } // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > Ifc4::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcHeatExchanger::declaration() const { return *IFC4_IfcHeatExchanger_type; } const IfcParse::entity& Ifc4::IfcHeatExchanger::Class() { return *IFC4_IfcHeatExchanger_type; } Ifc4::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcHeatExchanger_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcHeatExchanger_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcHeatExchangerType ::Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcHeatExchangerType::setPredefinedType(::Ifc4::IfcHeatExchangerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcHeatExchangerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcHeatExchangerType::declaration() const { return *IFC4_IfcHeatExchangerType_type; } const IfcParse::entity& Ifc4::IfcHeatExchangerType::Class() { return *IFC4_IfcHeatExchangerType_type; } Ifc4::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcHeatExchangerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcHeatExchangerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcHumidifier boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > Ifc4::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcHumidifier::declaration() const { return *IFC4_IfcHumidifier_type; } const IfcParse::entity& Ifc4::IfcHumidifier::Class() { return *IFC4_IfcHumidifier_type; } Ifc4::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcHumidifier_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcHumidifier_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcHumidifierTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcHumidifierType ::Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcHumidifierType::setPredefinedType(::Ifc4::IfcHumidifierTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcHumidifierTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcHumidifierType::declaration() const { return *IFC4_IfcHumidifierType_type; } const IfcParse::entity& Ifc4::IfcHumidifierType::Class() { return *IFC4_IfcHumidifierType_type; } Ifc4::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcHumidifierType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcHumidifierType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcHumidifierTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcIShapeProfileDef double Ifc4::IfcIShapeProfileDef::OverallWidth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcIShapeProfileDef::setOverallWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcIShapeProfileDef::OverallDepth() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcIShapeProfileDef::setOverallDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcIShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcIShapeProfileDef::declaration() const { return *IFC4_IfcIShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcIShapeProfileDef::Class() { return *IFC4_IfcIShapeProfileDef_type; } Ifc4::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_OverallWidth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OverallDepth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_FlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FlangeEdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcImageTexture std::string Ifc4::IfcImageTexture::URLReference() const { std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcImageTexture::setURLReference(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcImageTexture::declaration() const { return *IFC4_IfcImageTexture_type; } const IfcParse::entity& Ifc4::IfcImageTexture::Class() { return *IFC4_IfcImageTexture_type; } Ifc4::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurfaceTexture((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcImageTexture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcIndexedColourMap ::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedColourMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgbList>(true); } void Ifc4::IfcIndexedColourMap::setColours(::Ifc4::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcIndexedColourMap::declaration() const { return *IFC4_IfcIndexedColourMap_type; } const IfcParse::entity& Ifc4::IfcIndexedColourMap::Class() { return *IFC4_IfcIndexedColourMap_type; } Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedColourMap_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve ::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcSegmentIndexSelect >(); } void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::declaration() const { return *IFC4_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *IFC4_IfcIndexedPolyCurve_type; } Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SelfIntersect) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SelfIntersect));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } void Ifc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcPolygonalFaceSet::list::ptr Ifc4::IfcIndexedPolygonalFace::ToFaceSet() const { return data_->getInverse(IFC4_IfcPolygonalFaceSet_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::declaration() const { return *IFC4_IfcIndexedPolygonalFace_type; } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::Class() { return *IFC4_IfcIndexedPolygonalFace_type; } Ifc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData* e) : IfcTessellatedItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedPolygonalFace_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolygonalFace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);} } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = *data_->getArgument(1); return v; } void Ifc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *IFC4_IfcIndexedPolygonalFaceWithVoids_type; } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::Class() { return *IFC4_IfcIndexedPolygonalFaceWithVoids_type; } Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData* e) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedPolygonalFaceWithVoids_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap ::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedTextureMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcTextureVertexList* Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextureVertexList>(true); } void Ifc4::IfcIndexedTextureMap::setTexCoords(::Ifc4::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcIndexedTextureMap::declaration() const { return *IFC4_IfcIndexedTextureMap_type; } const IfcParse::entity& Ifc4::IfcIndexedTextureMap::Class() { return *IFC4_IfcIndexedTextureMap_type; } Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedTextureMap_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} } // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4_IfcIndexedTriangleTextureMap_type; } const IfcParse::entity& Ifc4::IfcIndexedTriangleTextureMap::Class() { return *IFC4_IfcIndexedTriangleTextureMap_type; } Ifc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData* e) : IfcIndexedTextureMap((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIndexedTriangleTextureMap_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedTriangleTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedTo));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TexCoords));data_->setArgument(2,attr);} if (v4_TexCoordIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TexCoordIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcInterceptor boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > Ifc4::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcInterceptor::declaration() const { return *IFC4_IfcInterceptor_type; } const IfcParse::entity& Ifc4::IfcInterceptor::Class() { return *IFC4_IfcInterceptor_type; } Ifc4::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData* e) : IfcFlowTreatmentDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcInterceptor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcInterceptor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcInterceptorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcInterceptorType ::Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcInterceptorType::setPredefinedType(::Ifc4::IfcInterceptorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcInterceptorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcInterceptorType::declaration() const { return *IFC4_IfcInterceptorType_type; } const IfcParse::entity& Ifc4::IfcInterceptorType::Class() { return *IFC4_IfcInterceptorType_type; } Ifc4::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData* e) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcInterceptorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcInterceptorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcInterceptorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcIntersectionCurve const IfcParse::entity& Ifc4::IfcIntersectionCurve::declaration() const { return *IFC4_IfcIntersectionCurve_type; } const IfcParse::entity& Ifc4::IfcIntersectionCurve::Class() { return *IFC4_IfcIntersectionCurve_type; } Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData* e) : IfcSurfaceCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIntersectionCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIntersectionCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcInventory boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcInventory::setJurisdiction(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPerson >(); } void Ifc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setCurrentValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setOriginalValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcInventory::declaration() const { return *IFC4_IfcInventory_type; } const IfcParse::entity& Ifc4::IfcInventory::Class() { return *IFC4_IfcInventory_type; } Ifc4::IfcInventory::IfcInventory(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcInventory_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcInventory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_PredefinedType,::Ifc4::IfcInventoryTypeEnum::ToString(*v6_PredefinedType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Jurisdiction));data_->setArgument(6,attr);} if (v8_ResponsiblePersons) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ResponsiblePersons)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LastUpdateDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LastUpdateDate));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_CurrentValue));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_OriginalValue));data_->setArgument(10,attr);} } // Function implementations for IfcIrregularTimeSeries aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr Ifc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcIrregularTimeSeriesValue >(); } void Ifc4::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcIrregularTimeSeries::declaration() const { return *IFC4_IfcIrregularTimeSeries_type; } const IfcParse::entity& Ifc4::IfcIrregularTimeSeries::Class() { return *IFC4_IfcIrregularTimeSeries_type; } Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData* e) : IfcTimeSeries((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcIrregularTimeSeries_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Values)->generalize());data_->setArgument(8,attr);} } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *IFC4_IfcIrregularTimeSeriesValue_type; } Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcJunctionBox::declaration() const { return *IFC4_IfcJunctionBox_type; } const IfcParse::entity& Ifc4::IfcJunctionBox::Class() { return *IFC4_IfcJunctionBox_type; } Ifc4::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData* e) : IfcFlowFitting((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcJunctionBox_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcJunctionBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcJunctionBoxType ::Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcJunctionBoxType::setPredefinedType(::Ifc4::IfcJunctionBoxTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcJunctionBoxTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcJunctionBoxType::declaration() const { return *IFC4_IfcJunctionBoxType_type; } const IfcParse::entity& Ifc4::IfcJunctionBoxType::Class() { return *IFC4_IfcJunctionBoxType_type; } Ifc4::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcJunctionBoxType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcJunctionBoxType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLShapeProfileDef double Ifc4::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLShapeProfileDef::declaration() const { return *IFC4_IfcLShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcLShapeProfileDef::Class() { return *IFC4_IfcLShapeProfileDef_type; } Ifc4::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} if (v5_Width) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Width));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Thickness));data_->setArgument(5,attr);} if (v7_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_FilletRadius));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EdgeRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LegSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LegSlope));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcLaborResource boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > Ifc4::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcLaborResource::declaration() const { return *IFC4_IfcLaborResource_type; } const IfcParse::entity& Ifc4::IfcLaborResource::Class() { return *IFC4_IfcLaborResource_type; } Ifc4::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLaborResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLaborResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcLaborResourceType ::Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcLaborResourceType::setPredefinedType(::Ifc4::IfcLaborResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLaborResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcLaborResourceType::declaration() const { return *IFC4_IfcLaborResourceType_type; } const IfcParse::entity& Ifc4::IfcLaborResourceType::Class() { return *IFC4_IfcLaborResourceType_type; } Ifc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLaborResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime ::Ifc4::IfcTimeOrRatioSelect* Ifc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTimeOrRatioSelect>(true); } void Ifc4::IfcLagTime::setLagValue(::Ifc4::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcLagTime::DurationType() const { return ::Ifc4::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcLagTime::setDurationType(::Ifc4::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcLagTime::declaration() const { return *IFC4_IfcLagTime_type; } const IfcParse::entity& Ifc4::IfcLagTime::Class() { return *IFC4_IfcLagTime_type; } Ifc4::IfcLagTime::IfcLagTime(IfcEntityInstanceData* e) : IfcSchedulingTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLagTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLagTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LagValue));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_DurationType,::Ifc4::IfcTaskDurationEnum::ToString(v5_DurationType))));data_->setArgument(4,attr);} } // Function implementations for IfcLamp boost::optional< ::Ifc4::IfcLampTypeEnum::Value > Ifc4::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLamp::declaration() const { return *IFC4_IfcLamp_type; } const IfcParse::entity& Ifc4::IfcLamp::Class() { return *IFC4_IfcLamp_type; } Ifc4::IfcLamp::IfcLamp(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLamp_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLamp_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcLampTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcLampType ::Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampType::PredefinedType() const { return ::Ifc4::IfcLampTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcLampType::setPredefinedType(::Ifc4::IfcLampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLampTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcLampType::declaration() const { return *IFC4_IfcLampType_type; } const IfcParse::entity& Ifc4::IfcLampType::Class() { return *IFC4_IfcLampType_type; } Ifc4::IfcLampType::IfcLampType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLampType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcLampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLibraryInformation std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcLibraryInformation::setPublisher(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4::IfcLibraryReference::list::ptr Ifc4::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4_IfcLibraryReference_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcLibraryInformation::declaration() const { return *IFC4_IfcLibraryInformation_type; } const IfcParse::entity& Ifc4::IfcLibraryInformation::Class() { return *IFC4_IfcLibraryInformation_type; } Ifc4::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLibraryInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLibraryInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Version) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Version));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Publisher));data_->setArgument(2,attr);} if (v4_VersionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VersionDate));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Location));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Description));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcLibraryReference::setReferencedLibrary(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesLibrary_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcLibraryReference::declaration() const { return *IFC4_IfcLibraryReference_type; } const IfcParse::entity& Ifc4::IfcLibraryReference::Class() { return *IFC4_IfcLibraryReference_type; } Ifc4::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData* e) : IfcExternalReference((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLibraryReference_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLibraryReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Language) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Language));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReferencedLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcLightDistributionData double Ifc4::IfcLightDistributionData::MainPlaneAngle() const { double v = *data_->getArgument(0); return v; } void Ifc4::IfcLightDistributionData::setMainPlaneAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } void Ifc4::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcLightDistributionData::declaration() const { return *IFC4_IfcLightDistributionData_type; } const IfcParse::entity& Ifc4::IfcLightDistributionData::Class() { return *IFC4_IfcLightDistributionData_type; } Ifc4::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcLightDistributionData_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcLightDistributionData_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MainPlaneAngle));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SecondaryPlaneAngle));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LuminousIntensity));data_->setArgument(2,attr);} } // Function implementations for IfcLightFixture boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > Ifc4::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLightFixture::declaration() const { return *IFC4_IfcLightFixture_type; } const IfcParse::entity& Ifc4::IfcLightFixture::Class() { return *IFC4_IfcLightFixture_type; } Ifc4::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightFixture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightFixture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcLightFixtureType ::Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcLightFixtureType::setPredefinedType(::Ifc4::IfcLightFixtureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLightFixtureTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcLightFixtureType::declaration() const { return *IFC4_IfcLightFixtureType_type; } const IfcParse::entity& Ifc4::IfcLightFixtureType::Class() { return *IFC4_IfcLightFixtureType_type; } Ifc4::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightFixtureType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightFixtureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcLightFixtureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLightIntensityDistribution ::Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4::IfcLightDistributionCurveEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4::IfcLightDistributionCurveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLightDistributionCurveEnum::ToString(v)));data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr Ifc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcLightDistributionData >(); } void Ifc4::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcLightIntensityDistribution::declaration() const { return *IFC4_IfcLightIntensityDistribution_type; } const IfcParse::entity& Ifc4::IfcLightIntensityDistribution::Class() { return *IFC4_IfcLightIntensityDistribution_type; } Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcLightIntensityDistribution_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcLightIntensityDistribution_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_LightDistributionCurve,::Ifc4::IfcLightDistributionCurveEnum::ToString(v1_LightDistributionCurve))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DistributionData)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcLightSource boost::optional< std::string > Ifc4::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSource::setLightColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcLightSource::declaration() const { return *IFC4_IfcLightSource_type; } const IfcParse::entity& Ifc4::IfcLightSource::Class() { return *IFC4_IfcLightSource_type; } Ifc4::IfcLightSource::IfcLightSource(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSource_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceAmbient const IfcParse::entity& Ifc4::IfcLightSourceAmbient::declaration() const { return *IFC4_IfcLightSourceAmbient_type; } const IfcParse::entity& Ifc4::IfcLightSourceAmbient::Class() { return *IFC4_IfcLightSourceAmbient_type; } Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* e) : IfcLightSource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSourceAmbient_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional ::Ifc4::IfcDirection* Ifc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceDirectional::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcLightSourceDirectional::declaration() const { return *IFC4_IfcLightSourceDirectional_type; } const IfcParse::entity& Ifc4::IfcLightSourceDirectional::Class() { return *IFC4_IfcLightSourceDirectional_type; } Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData* e) : IfcLightSource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSourceDirectional_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcLightSourceGoniometric::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSourceGoniometric::setColourAppearance(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } double Ifc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = *data_->getArgument(7); return v; } void Ifc4::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } ::Ifc4::IfcLightDistributionDataSourceSelect* Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcLightDistributionDataSourceSelect>(true); } void Ifc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcLightSourceGoniometric::declaration() const { return *IFC4_IfcLightSourceGoniometric_type; } const IfcParse::entity& Ifc4::IfcLightSourceGoniometric::Class() { return *IFC4_IfcLightSourceGoniometric_type; } Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData* e) : IfcLightSource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSourceGoniometric_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional ::Ifc4::IfcCartesianPoint* Ifc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLightSourcePositional::setPosition(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcLightSourcePositional::setConstantAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } double Ifc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = *data_->getArgument(7); return v; } void Ifc4::IfcLightSourcePositional::setDistanceAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } double Ifc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = *data_->getArgument(8); return v; } void Ifc4::IfcLightSourcePositional::setQuadricAttenuation(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLightSourcePositional::declaration() const { return *IFC4_IfcLightSourcePositional_type; } const IfcParse::entity& Ifc4::IfcLightSourcePositional::Class() { return *IFC4_IfcLightSourcePositional_type; } Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData* e) : IfcLightSource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSourcePositional_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot ::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceSpot::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } void Ifc4::IfcLightSourceSpot::setBeamWidthAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcLightSourceSpot::declaration() const { return *IFC4_IfcLightSourceSpot_type; } const IfcParse::entity& Ifc4::IfcLightSourceSpot::Class() { return *IFC4_IfcLightSourceSpot_type; } Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : IfcLightSourcePositional((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLightSourceSpot_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine ::Ifc4::IfcCartesianPoint* Ifc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLine::setPnt(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcVector* Ifc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVector>(true); } void Ifc4::IfcLine::setDir(::Ifc4::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcLine::declaration() const { return *IFC4_IfcLine_type; } const IfcParse::entity& Ifc4::IfcLine::Class() { return *IFC4_IfcLine_type; } Ifc4::IfcLine::IfcLine(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLine_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcLine::IfcLine(::Ifc4::IfcCartesianPoint* v1_Pnt, ::Ifc4::IfcVector* v2_Dir) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Pnt));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Dir));data_->setArgument(1,attr);} } // Function implementations for IfcLocalPlacement ::Ifc4::IfcObjectPlacement* Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcLocalPlacement::setPlacementRelTo(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcAxis2Placement* Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcLocalPlacement::setRelativePlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcLocalPlacement::declaration() const { return *IFC4_IfcLocalPlacement_type; } const IfcParse::entity& Ifc4::IfcLocalPlacement::Class() { return *IFC4_IfcLocalPlacement_type; } Ifc4::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData* e) : IfcObjectPlacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLocalPlacement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLocalPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelativePlacement));data_->setArgument(1,attr);} } // Function implementations for IfcLoop const IfcParse::entity& Ifc4::IfcLoop::declaration() const { return *IFC4_IfcLoop_type; } const IfcParse::entity& Ifc4::IfcLoop::Class() { return *IFC4_IfcLoop_type; } Ifc4::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcLoop_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep ::Ifc4::IfcClosedShell* Ifc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcClosedShell>(true); } void Ifc4::IfcManifoldSolidBrep::setOuter(::Ifc4::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcManifoldSolidBrep::declaration() const { return *IFC4_IfcManifoldSolidBrep_type; } const IfcParse::entity& Ifc4::IfcManifoldSolidBrep::Class() { return *IFC4_IfcManifoldSolidBrep_type; } Ifc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData* e) : IfcSolidModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcManifoldSolidBrep_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcManifoldSolidBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcMapConversion double Ifc4::IfcMapConversion::Eastings() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcMapConversion::setEastings(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcMapConversion::Northings() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcMapConversion::declaration() const { return *IFC4_IfcMapConversion_type; } const IfcParse::entity& Ifc4::IfcMapConversion::Class() { return *IFC4_IfcMapConversion_type; } Ifc4::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCoordinateOperation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMapConversion_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem ::Ifc4::IfcRepresentationMap* Ifc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationMap>(true); } void Ifc4::IfcMappedItem::setMappingSource(::Ifc4::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcCartesianTransformationOperator* Ifc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCartesianTransformationOperator>(true); } void Ifc4::IfcMappedItem::setMappingTarget(::Ifc4::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcMappedItem::declaration() const { return *IFC4_IfcMappedItem_type; } const IfcParse::entity& Ifc4::IfcMappedItem::Class() { return *IFC4_IfcMappedItem_type; } Ifc4::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMappedItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMappedItem::IfcMappedItem(::Ifc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMappedItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappingSource));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappingTarget));data_->setArgument(1,attr);} } // Function implementations for IfcMaterial std::string Ifc4::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4::IfcMaterialRelationship::list::ptr Ifc4::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4_IfcMaterialRelationship_type, 3)->as(); } ::Ifc4::IfcMaterialRelationship::list::ptr Ifc4::IfcMaterial::RelatesTo() const { return data_->getInverse(IFC4_IfcMaterialRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcMaterial::declaration() const { return *IFC4_IfcMaterial_type; } const IfcParse::entity& Ifc4::IfcMaterial::Class() { return *IFC4_IfcMaterial_type; } Ifc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcClassificationSelect >(); } void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::declaration() const { return *IFC4_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *IFC4_IfcMaterialClassificationRelationship_type; } Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialConstituent::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcMaterialConstituentSet::list::ptr Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4_IfcMaterialConstituentSet_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcMaterialConstituent::declaration() const { return *IFC4_IfcMaterialConstituent_type; } const IfcParse::entity& Ifc4::IfcMaterialConstituent::Class() { return *IFC4_IfcMaterialConstituent_type; } Ifc4::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialConstituent_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialConstituent_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);} if (v4_Fraction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Fraction));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Category));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcMaterialConstituent >(); } void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::declaration() const { return *IFC4_IfcMaterialConstituentSet_type; } const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::Class() { return *IFC4_IfcMaterialConstituentSet_type; } Ifc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialConstituentSet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialConstituentSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_MaterialConstituents) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_MaterialConstituents)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialDefinition ::Ifc4::IfcRelAssociatesMaterial::list::ptr Ifc4::IfcMaterialDefinition::AssociatedTo() const { return data_->getInverse(IFC4_IfcRelAssociatesMaterial_type, 5)->as(); } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcMaterialDefinition::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcMaterialProperties::list::ptr Ifc4::IfcMaterialDefinition::HasProperties() const { return data_->getInverse(IFC4_IfcMaterialProperties_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcMaterialDefinition::declaration() const { return *IFC4_IfcMaterialDefinition_type; } const IfcParse::entity& Ifc4::IfcMaterialDefinition::Class() { return *IFC4_IfcMaterialDefinition_type; } Ifc4::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4::IfcMaterial* Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcMaterialDefinitionRepresentation::declaration() const { return *IFC4_IfcMaterialDefinitionRepresentation_type; } const IfcParse::entity& Ifc4::IfcMaterialDefinitionRepresentation::Class() { return *IFC4_IfcMaterialDefinitionRepresentation_type; } Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData* e) : IfcProductRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialDefinitionRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer ::Ifc4::IfcMaterial* Ifc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialLayer::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } void Ifc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcMaterialLayerSet::list::ptr Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4_IfcMaterialLayerSet_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcMaterialLayer::declaration() const { return *IFC4_IfcMaterialLayer_type; } const IfcParse::entity& Ifc4::IfcMaterialLayer::Class() { return *IFC4_IfcMaterialLayer_type; } Ifc4::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialLayer_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialLayer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcMaterialLayerSet aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr Ifc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcMaterialLayer >(); } void Ifc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSet::declaration() const { return *IFC4_IfcMaterialLayerSet_type; } const IfcParse::entity& Ifc4::IfcMaterialLayerSet::Class() { return *IFC4_IfcMaterialLayerSet_type; } Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialLayerSet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4::IfcMaterialLayerSet* Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialLayerSet>(true); } void Ifc4::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } ::Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4::IfcDirectionSenseEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4::IfcDirectionSenseEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDirectionSenseEnum::ToString(v)));data_->setArgument(2,attr);} } double Ifc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSetUsage::declaration() const { return *IFC4_IfcMaterialLayerSetUsage_type; } const IfcParse::entity& Ifc4::IfcMaterialLayerSetUsage::Class() { return *IFC4_IfcMaterialLayerSetUsage_type; } Ifc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData* e) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialLayerSetUsage_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialLayerSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForLayerSet));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_LayerSetDirection,::Ifc4::IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_DirectionSense,::Ifc4::IfcDirectionSenseEnum::ToString(v3_DirectionSense))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_OffsetFromReferenceLine));data_->setArgument(3,attr);} if (v5_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ReferenceExtent));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(7,attr);} } std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMaterialLayerWithOffsets::declaration() const { return *IFC4_IfcMaterialLayerWithOffsets_type; } const IfcParse::entity& Ifc4::IfcMaterialLayerWithOffsets::Class() { return *IFC4_IfcMaterialLayerWithOffsets_type; } Ifc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData* e) : IfcMaterialLayer((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialLayerWithOffsets_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialLayerWithOffsets_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LayerThickness));data_->setArgument(1,attr);} if (v3_IsVentilated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_IsVentilated));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Name));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Priority));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_OffsetDirection,::Ifc4::IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_OffsetValues));data_->setArgument(8,attr);} } // Function implementations for IfcMaterialList aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcMaterialList::declaration() const { return *IFC4_IfcMaterialList_type; } const IfcParse::entity& Ifc4::IfcMaterialList::Class() { return *IFC4_IfcMaterialList_type; } Ifc4::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialList_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Materials)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialProfile::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcMaterialProfile::setProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcMaterialProfileSet::list::ptr Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4_IfcMaterialProfileSet_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcMaterialProfile::declaration() const { return *IFC4_IfcMaterialProfile_type; } const IfcParse::entity& Ifc4::IfcMaterialProfile::Class() { return *IFC4_IfcMaterialProfile_type; } Ifc4::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProfile_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfile_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcMaterialProfile >(); } void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCompositeProfileDef>(true); } void Ifc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSet::declaration() const { return *IFC4_IfcMaterialProfileSet_type; } const IfcParse::entity& Ifc4::IfcMaterialProfileSet::Class() { return *IFC4_IfcMaterialProfileSet_type; } Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* e) : IfcMaterialDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProfileSet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsage::declaration() const { return *IFC4_IfcMaterialProfileSetUsage_type; } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsage::Class() { return *IFC4_IfcMaterialProfileSetUsage_type; } Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData* e) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProfileSetUsage_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4_IfcMaterialProfileSetUsageTapering_type; } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsageTapering::Class() { return *IFC4_IfcMaterialProfileSetUsageTapering_type; } Ifc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData* e) : IfcMaterialProfileSetUsage((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProfileSetUsageTapering_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileSetUsageTapering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ForProfileEndSet));data_->setArgument(3,attr);} if (v5_CardinalEndPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_CardinalEndPoint));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = *data_->getArgument(6); return v; } void Ifc4::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileWithOffsets::declaration() const { return *IFC4_IfcMaterialProfileWithOffsets_type; } const IfcParse::entity& Ifc4::IfcMaterialProfileWithOffsets::Class() { return *IFC4_IfcMaterialProfileWithOffsets_type; } Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData* e) : IfcMaterialProfile((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProfileWithOffsets_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties ::Ifc4::IfcMaterialDefinition* Ifc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialDefinition>(true); } void Ifc4::IfcMaterialProperties::setMaterial(::Ifc4::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProperties::declaration() const { return *IFC4_IfcMaterialProperties_type; } const IfcParse::entity& Ifc4::IfcMaterialProperties::Class() { return *IFC4_IfcMaterialProperties_type; } Ifc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : IfcExtendedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship ::Ifc4::IfcMaterial* Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialRelationship::declaration() const { return *IFC4_IfcMaterialRelationship_type; } const IfcParse::entity& Ifc4::IfcMaterialRelationship::Class() { return *IFC4_IfcMaterialRelationship_type; } Ifc4::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMaterialRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingMaterial));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedMaterials)->generalize());data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMaterialUsageDefinition ::Ifc4::IfcRelAssociatesMaterial::list::ptr Ifc4::IfcMaterialUsageDefinition::AssociatedTo() const { return data_->getInverse(IFC4_IfcRelAssociatesMaterial_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::declaration() const { return *IFC4_IfcMaterialUsageDefinition_type; } const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::Class() { return *IFC4_IfcMaterialUsageDefinition_type; } Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMaterialUsageDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit ::Ifc4::IfcValue* Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcMeasureWithUnit::setValueComponent(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcMeasureWithUnit::declaration() const { return *IFC4_IfcMeasureWithUnit_type; } const IfcParse::entity& Ifc4::IfcMeasureWithUnit::Class() { return *IFC4_IfcMeasureWithUnit_type; } Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMeasureWithUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4::IfcValue* v1_ValueComponent, ::Ifc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMeasureWithUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ValueComponent));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_UnitComponent));data_->setArgument(1,attr);} } // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcMechanicalFastener::declaration() const { return *IFC4_IfcMechanicalFastener_type; } const IfcParse::entity& Ifc4::IfcMechanicalFastener::Class() { return *IFC4_IfcMechanicalFastener_type; } Ifc4::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMechanicalFastener_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMechanicalFastener_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_NominalDiameter));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_NominalLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NominalLength));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcMechanicalFastenerType ::Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcMechanicalFastenerType::declaration() const { return *IFC4_IfcMechanicalFastenerType_type; } const IfcParse::entity& Ifc4::IfcMechanicalFastenerType::Class() { return *IFC4_IfcMechanicalFastenerType_type; } Ifc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMechanicalFastenerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMechanicalFastenerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_NominalLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_NominalLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > Ifc4::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMedicalDevice::declaration() const { return *IFC4_IfcMedicalDevice_type; } const IfcParse::entity& Ifc4::IfcMedicalDevice::Class() { return *IFC4_IfcMedicalDevice_type; } Ifc4::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMedicalDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMedicalDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcMedicalDeviceType ::Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcMedicalDeviceType::setPredefinedType(::Ifc4::IfcMedicalDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcMedicalDeviceType::declaration() const { return *IFC4_IfcMedicalDeviceType_type; } const IfcParse::entity& Ifc4::IfcMedicalDeviceType::Class() { return *IFC4_IfcMedicalDeviceType_type; } Ifc4::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMedicalDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMedicalDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMember boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > Ifc4::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMember::declaration() const { return *IFC4_IfcMember_type; } const IfcParse::entity& Ifc4::IfcMember::Class() { return *IFC4_IfcMember_type; } Ifc4::IfcMember::IfcMember(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMember_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcMemberTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcMemberStandardCase const IfcParse::entity& Ifc4::IfcMemberStandardCase::declaration() const { return *IFC4_IfcMemberStandardCase_type; } const IfcParse::entity& Ifc4::IfcMemberStandardCase::Class() { return *IFC4_IfcMemberStandardCase_type; } Ifc4::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData* e) : IfcMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMemberStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMemberStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcMemberTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcMemberType ::Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberType::PredefinedType() const { return ::Ifc4::IfcMemberTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcMemberType::setPredefinedType(::Ifc4::IfcMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcMemberTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcMemberType::declaration() const { return *IFC4_IfcMemberType_type; } const IfcParse::entity& Ifc4::IfcMemberType::Class() { return *IFC4_IfcMemberType_type; } Ifc4::IfcMemberType::IfcMemberType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMemberType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMemberType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcMemberTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMetric ::Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcMetric::Benchmark() const { return ::Ifc4::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcMetric::setBenchmark(::Ifc4::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcMetricValueSelect>(true); } void Ifc4::IfcMetric::setDataValue(::Ifc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcMetric::setReferencePath(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcMetric::declaration() const { return *IFC4_IfcMetric_type; } const IfcParse::entity& Ifc4::IfcMetric::Class() { return *IFC4_IfcMetric_type; } Ifc4::IfcMetric::IfcMetric(IfcEntityInstanceData* e) : IfcConstraint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMetric_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMetric_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_Benchmark,::Ifc4::IfcBenchmarkEnum::ToString(v8_Benchmark))));data_->setArgument(7,attr);} if (v9_ValueSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ValueSource));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_DataValue));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ReferencePath));data_->setArgument(10,attr);} } // Function implementations for IfcMirroredProfileDef const IfcParse::entity& Ifc4::IfcMirroredProfileDef::declaration() const { return *IFC4_IfcMirroredProfileDef_type; } const IfcParse::entity& Ifc4::IfcMirroredProfileDef::Class() { return *IFC4_IfcMirroredProfileDef_type; } Ifc4::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData* e) : IfcDerivedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMirroredProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMirroredProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentProfile));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);} if (v5_Label) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Label));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcMonetaryUnit std::string Ifc4::IfcMonetaryUnit::Currency() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMonetaryUnit::setCurrency(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcMonetaryUnit::declaration() const { return *IFC4_IfcMonetaryUnit_type; } const IfcParse::entity& Ifc4::IfcMonetaryUnit::Class() { return *IFC4_IfcMonetaryUnit_type; } Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcMonetaryUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMonetaryUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Currency));data_->setArgument(0,attr);} } // Function implementations for IfcMotorConnection boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > Ifc4::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMotorConnection::declaration() const { return *IFC4_IfcMotorConnection_type; } const IfcParse::entity& Ifc4::IfcMotorConnection::Class() { return *IFC4_IfcMotorConnection_type; } Ifc4::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMotorConnection_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMotorConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcMotorConnectionType ::Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcMotorConnectionType::setPredefinedType(::Ifc4::IfcMotorConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcMotorConnectionTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcMotorConnectionType::declaration() const { return *IFC4_IfcMotorConnectionType_type; } const IfcParse::entity& Ifc4::IfcMotorConnectionType::Class() { return *IFC4_IfcMotorConnectionType_type; } Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcMotorConnectionType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit ::Ifc4::IfcDimensionalExponents* Ifc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDimensionalExponents>(true); } void Ifc4::IfcNamedUnit::setDimensions(::Ifc4::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcUnitEnum::Value Ifc4::IfcNamedUnit::UnitType() const { return ::Ifc4::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcNamedUnit::setUnitType(::Ifc4::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcNamedUnit::declaration() const { return *IFC4_IfcNamedUnit_type; } const IfcParse::entity& Ifc4::IfcNamedUnit::Class() { return *IFC4_IfcNamedUnit_type; } Ifc4::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcNamedUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcNamedUnit::IfcNamedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcNamedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Dimensions));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} } // Function implementations for IfcObject boost::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcRelDefinesByObject::list::ptr Ifc4::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4::IfcRelDefinesByObject::list::ptr Ifc4::IfcObject::Declares() const { return data_->getInverse(IFC4_IfcRelDefinesByObject_type, 5)->as(); } ::Ifc4::IfcRelDefinesByType::list::ptr Ifc4::IfcObject::IsTypedBy() const { return data_->getInverse(IFC4_IfcRelDefinesByType_type, 4)->as(); } ::Ifc4::IfcRelDefinesByProperties::list::ptr Ifc4::IfcObject::IsDefinedBy() const { return data_->getInverse(IFC4_IfcRelDefinesByProperties_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcObject::declaration() const { return *IFC4_IfcObject_type; } const IfcParse::entity& Ifc4::IfcObject::Class() { return *IFC4_IfcObject_type; } Ifc4::IfcObject::IfcObject(IfcEntityInstanceData* e) : IfcObjectDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcObject_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcObjectDefinition ::Ifc4::IfcRelAssigns::list::ptr Ifc4::IfcObjectDefinition::HasAssignments() const { return data_->getInverse(IFC4_IfcRelAssigns_type, 4)->as(); } ::Ifc4::IfcRelNests::list::ptr Ifc4::IfcObjectDefinition::Nests() const { return data_->getInverse(IFC4_IfcRelNests_type, 5)->as(); } ::Ifc4::IfcRelNests::list::ptr Ifc4::IfcObjectDefinition::IsNestedBy() const { return data_->getInverse(IFC4_IfcRelNests_type, 4)->as(); } ::Ifc4::IfcRelDeclares::list::ptr Ifc4::IfcObjectDefinition::HasContext() const { return data_->getInverse(IFC4_IfcRelDeclares_type, 5)->as(); } ::Ifc4::IfcRelAggregates::list::ptr Ifc4::IfcObjectDefinition::IsDecomposedBy() const { return data_->getInverse(IFC4_IfcRelAggregates_type, 4)->as(); } ::Ifc4::IfcRelAggregates::list::ptr Ifc4::IfcObjectDefinition::Decomposes() const { return data_->getInverse(IFC4_IfcRelAggregates_type, 5)->as(); } ::Ifc4::IfcRelAssociates::list::ptr Ifc4::IfcObjectDefinition::HasAssociations() const { return data_->getInverse(IFC4_IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcObjectDefinition::declaration() const { return *IFC4_IfcObjectDefinition_type; } const IfcParse::entity& Ifc4::IfcObjectDefinition::Class() { return *IFC4_IfcObjectDefinition_type; } Ifc4::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : IfcRoot((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcObjectDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement ::Ifc4::IfcProduct::list::ptr Ifc4::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4_IfcProduct_type, 5)->as(); } ::Ifc4::IfcLocalPlacement::list::ptr Ifc4::IfcObjectPlacement::ReferencedByPlacements() const { return data_->getInverse(IFC4_IfcLocalPlacement_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcObjectPlacement::declaration() const { return *IFC4_IfcObjectPlacement_type; } const IfcParse::entity& Ifc4::IfcObjectPlacement::Class() { return *IFC4_IfcObjectPlacement_type; } Ifc4::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcObjectPlacement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcObjectPlacement_type); } // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > Ifc4::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcConstraint >(); } void Ifc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > Ifc4::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcObjective::setObjectiveQualifier(::Ifc4::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcObjective::declaration() const { return *IFC4_IfcObjective_type; } const IfcParse::entity& Ifc4::IfcObjective::Class() { return *IFC4_IfcObjective_type; } Ifc4::IfcObjective::IfcObjective(IfcEntityInstanceData* e) : IfcConstraint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcObjective_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcObjective_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_ConstraintGrade,::Ifc4::IfcConstraintEnum::ToString(v3_ConstraintGrade))));data_->setArgument(2,attr);} if (v4_ConstraintSource) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ConstraintSource));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CreatingActor));data_->setArgument(4,attr);} if (v6_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_CreationTime));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_UserDefinedGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedGrade));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_BenchmarkValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_BenchmarkValues)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LogicalAggregator) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_LogicalAggregator,::Ifc4::IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_ObjectiveQualifier,::Ifc4::IfcObjectiveEnum::ToString(v10_ObjectiveQualifier))));data_->setArgument(9,attr);} if (v11_UserDefinedQualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_UserDefinedQualifier));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcOccupant boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > Ifc4::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcOccupant::declaration() const { return *IFC4_IfcOccupant_type; } const IfcParse::entity& Ifc4::IfcOccupant::Class() { return *IFC4_IfcOccupant_type; } Ifc4::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOccupant_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve2D ::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve2D::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcOffsetCurve2D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcOffsetCurve2D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcOffsetCurve2D::declaration() const { return *IFC4_IfcOffsetCurve2D_type; } const IfcParse::entity& Ifc4::IfcOffsetCurve2D::Class() { return *IFC4_IfcOffsetCurve2D_type; } Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOffsetCurve2D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOffsetCurve2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } // Function implementations for IfcOffsetCurve3D ::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve3D::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcOffsetCurve3D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcOffsetCurve3D::declaration() const { return *IFC4_IfcOffsetCurve3D_type; } const IfcParse::entity& Ifc4::IfcOffsetCurve3D::Class() { return *IFC4_IfcOffsetCurve3D_type; } Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOffsetCurve3D_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection* v4_RefDirection) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOffsetCurve3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RefDirection));data_->setArgument(3,attr);} } // Function implementations for IfcOpenShell const IfcParse::entity& Ifc4::IfcOpenShell::declaration() const { return *IFC4_IfcOpenShell_type; } const IfcParse::entity& Ifc4::IfcOpenShell::Class() { return *IFC4_IfcOpenShell_type; } Ifc4::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData* e) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOpenShell_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOpenShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcOpeningElement boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > Ifc4::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4_IfcRelFillsElement_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcOpeningElement::declaration() const { return *IFC4_IfcOpeningElement_type; } const IfcParse::entity& Ifc4::IfcOpeningElement::Class() { return *IFC4_IfcOpeningElement_type; } Ifc4::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData* e) : IfcFeatureElementSubtraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOpeningElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOpeningElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcOpeningStandardCase const IfcParse::entity& Ifc4::IfcOpeningStandardCase::declaration() const { return *IFC4_IfcOpeningStandardCase_type; } const IfcParse::entity& Ifc4::IfcOpeningStandardCase::Class() { return *IFC4_IfcOpeningStandardCase_type; } Ifc4::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData* e) : IfcOpeningElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOpeningStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOpeningStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcOrganization boost::optional< std::string > Ifc4::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcAddress >(); } void Ifc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4::IfcOrganizationRelationship::list::ptr Ifc4::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4::IfcOrganizationRelationship::list::ptr Ifc4::IfcOrganization::Relates() const { return data_->getInverse(IFC4_IfcOrganizationRelationship_type, 2)->as(); } ::Ifc4::IfcPersonAndOrganization::list::ptr Ifc4::IfcOrganization::Engages() const { return data_->getInverse(IFC4_IfcPersonAndOrganization_type, 1)->as(); } const IfcParse::entity& Ifc4::IfcOrganization::declaration() const { return *IFC4_IfcOrganization_type; } const IfcParse::entity& Ifc4::IfcOrganization::Class() { return *IFC4_IfcOrganization_type; } Ifc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcOrganization_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship ::Ifc4::IfcOrganization* Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcOrganization >::ptr Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcOrganization >(); } void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcOrganizationRelationship::declaration() const { return *IFC4_IfcOrganizationRelationship_type; } const IfcParse::entity& Ifc4::IfcOrganizationRelationship::Class() { return *IFC4_IfcOrganizationRelationship_type; } Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOrganizationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge ::Ifc4::IfcEdge* Ifc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcOrientedEdge::setEdgeElement(::Ifc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcOrientedEdge::declaration() const { return *IFC4_IfcOrientedEdge_type; } const IfcParse::entity& Ifc4::IfcOrientedEdge::Class() { return *IFC4_IfcOrientedEdge_type; } Ifc4::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData* e) : IfcEdge((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOrientedEdge_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOrientedEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EdgeElement));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Orientation));data_->setArgument(3,attr);} } // Function implementations for IfcOuterBoundaryCurve const IfcParse::entity& Ifc4::IfcOuterBoundaryCurve::declaration() const { return *IFC4_IfcOuterBoundaryCurve_type; } const IfcParse::entity& Ifc4::IfcOuterBoundaryCurve::Class() { return *IFC4_IfcOuterBoundaryCurve_type; } Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData* e) : IfcBoundaryCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOuterBoundaryCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOuterBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcOutlet boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > Ifc4::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcOutlet::declaration() const { return *IFC4_IfcOutlet_type; } const IfcParse::entity& Ifc4::IfcOutlet::Class() { return *IFC4_IfcOutlet_type; } Ifc4::IfcOutlet::IfcOutlet(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOutlet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOutlet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcOutletTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcOutletType ::Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletType::PredefinedType() const { return ::Ifc4::IfcOutletTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcOutletType::setPredefinedType(::Ifc4::IfcOutletTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcOutletTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcOutletType::declaration() const { return *IFC4_IfcOutletType_type; } const IfcParse::entity& Ifc4::IfcOutletType::Class() { return *IFC4_IfcOutletType_type; } Ifc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcOutletType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory ::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setOwningUser(::Ifc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setOwningApplication(::Ifc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } void Ifc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingApplication(::Ifc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcOwnerHistory::declaration() const { return *IFC4_IfcOwnerHistory_type; } const IfcParse::entity& Ifc4::IfcOwnerHistory::Class() { return *IFC4_IfcOwnerHistory_type; } Ifc4::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcOwnerHistory_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef ::Ifc4::IfcAxis2Placement2D* Ifc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement2D>(true); } void Ifc4::IfcParameterizedProfileDef::setPosition(::Ifc4::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcParameterizedProfileDef::declaration() const { return *IFC4_IfcParameterizedProfileDef_type; } const IfcParse::entity& Ifc4::IfcParameterizedProfileDef::Class() { return *IFC4_IfcParameterizedProfileDef_type; } Ifc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData* e) : IfcProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcParameterizedProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcParameterizedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);} } // Function implementations for IfcPath aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } void Ifc4::IfcPath::setEdgeList(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPath::declaration() const { return *IFC4_IfcPath_type; } const IfcParse::entity& Ifc4::IfcPath::Class() { return *IFC4_IfcPath_type; } Ifc4::IfcPath::IfcPath(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPath_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPath::IfcPath(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPcurve ::Ifc4::IfcSurface* Ifc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPcurve::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcCurve* Ifc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPcurve::setReferenceCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcPcurve::declaration() const { return *IFC4_IfcPcurve_type; } const IfcParse::entity& Ifc4::IfcPcurve::Class() { return *IFC4_IfcPcurve_type; } Ifc4::IfcPcurve::IfcPcurve(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPcurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPcurve::IfcPcurve(::Ifc4::IfcSurface* v1_BasisSurface, ::Ifc4::IfcCurve* v2_ReferenceCurve) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPcurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ReferenceCurve));data_->setArgument(1,attr);} } // Function implementations for IfcPerformanceHistory std::string Ifc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcPerformanceHistory::declaration() const { return *IFC4_IfcPerformanceHistory_type; } const IfcParse::entity& Ifc4::IfcPerformanceHistory::Class() { return *IFC4_IfcPerformanceHistory_type; } Ifc4::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPerformanceHistory_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPerformanceHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LifeCyclePhase));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4::IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPermeableCoveringProperties ::Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4::IfcPermeableCoveringOperationEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4::IfcPermeableCoveringOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPermeableCoveringOperationEnum::ToString(v)));data_->setArgument(4,attr);} } ::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPermeableCoveringProperties::declaration() const { return *IFC4_IfcPermeableCoveringProperties_type; } const IfcParse::entity& Ifc4::IfcPermeableCoveringProperties::Class() { return *IFC4_IfcPermeableCoveringProperties_type; } Ifc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPermeableCoveringProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPermeableCoveringProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_OperationType,::Ifc4::IfcPermeableCoveringOperationEnum::ToString(v5_OperationType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PanelPosition,::Ifc4::IfcWindowPanelPositionEnum::ToString(v6_PanelPosition))));data_->setArgument(5,attr);} if (v7_FrameDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_FrameDepth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_FrameThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FrameThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ShapeAspectStyle));data_->setArgument(8,attr);} } // Function implementations for IfcPermit boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > Ifc4::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPermit::declaration() const { return *IFC4_IfcPermit_type; } const IfcParse::entity& Ifc4::IfcPermit::Class() { return *IFC4_IfcPermit_type; } Ifc4::IfcPermit::IfcPermit(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPermit_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPermit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcPermitTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPerson boost::optional< std::string > Ifc4::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } void Ifc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcAddress >(); } void Ifc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4::IfcPersonAndOrganization::list::ptr Ifc4::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4_IfcPersonAndOrganization_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcPerson::declaration() const { return *IFC4_IfcPerson_type; } const IfcParse::entity& Ifc4::IfcPerson::Class() { return *IFC4_IfcPerson_type; } Ifc4::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPerson_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization ::Ifc4::IfcPerson* Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcPersonAndOrganization::setThePerson(::Ifc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPersonAndOrganization::declaration() const { return *IFC4_IfcPersonAndOrganization_type; } const IfcParse::entity& Ifc4::IfcPersonAndOrganization::Class() { return *IFC4_IfcPersonAndOrganization_type; } Ifc4::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPersonAndOrganization_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4::IfcPerson* v1_ThePerson, ::Ifc4::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPersonAndOrganization_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ThePerson));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TheOrganization));data_->setArgument(1,attr);} if (v3_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Roles)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcPhysicalComplexQuantity aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } std::string Ifc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcPhysicalComplexQuantity::declaration() const { return *IFC4_IfcPhysicalComplexQuantity_type; } const IfcParse::entity& Ifc4::IfcPhysicalComplexQuantity::Class() { return *IFC4_IfcPhysicalComplexQuantity_type; } Ifc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData* e) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPhysicalComplexQuantity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalComplexQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_HasQuantities)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Discrimination));data_->setArgument(3,attr);} if (v5_Quality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Quality));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Usage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Usage));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcPhysicalQuantity std::string Ifc4::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcPhysicalComplexQuantity::list::ptr Ifc4::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4_IfcPhysicalComplexQuantity_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcPhysicalQuantity::declaration() const { return *IFC4_IfcPhysicalQuantity_type; } const IfcParse::entity& Ifc4::IfcPhysicalQuantity::Class() { return *IFC4_IfcPhysicalQuantity_type; } Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPhysicalQuantity_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4::IfcNamedUnit* Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPhysicalSimpleQuantity::declaration() const { return *IFC4_IfcPhysicalSimpleQuantity_type; } const IfcParse::entity& Ifc4::IfcPhysicalSimpleQuantity::Class() { return *IFC4_IfcPhysicalSimpleQuantity_type; } Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData* e) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPhysicalSimpleQuantity_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalSimpleQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPile boost::optional< ::Ifc4::IfcPileTypeEnum::Value > Ifc4::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > Ifc4::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPile::setConstructionType(boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPile::declaration() const { return *IFC4_IfcPile_type; } const IfcParse::entity& Ifc4::IfcPile::Class() { return *IFC4_IfcPile_type; } Ifc4::IfcPile::IfcPile(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPile_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPile_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPileTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_ConstructionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_ConstructionType,::Ifc4::IfcPileConstructionEnum::ToString(*v10_ConstructionType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcPileType ::Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileType::PredefinedType() const { return ::Ifc4::IfcPileTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPileType::setPredefinedType(::Ifc4::IfcPileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPileTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPileType::declaration() const { return *IFC4_IfcPileType_type; } const IfcParse::entity& Ifc4::IfcPileType::Class() { return *IFC4_IfcPileType_type; } Ifc4::IfcPileType::IfcPileType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPileType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPileType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcPileTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPipeFitting boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > Ifc4::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPipeFitting::declaration() const { return *IFC4_IfcPipeFitting_type; } const IfcParse::entity& Ifc4::IfcPipeFitting::Class() { return *IFC4_IfcPipeFitting_type; } Ifc4::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData* e) : IfcFlowFitting((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPipeFitting_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPipeFitting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPipeFittingType ::Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPipeFittingType::setPredefinedType(::Ifc4::IfcPipeFittingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPipeFittingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPipeFittingType::declaration() const { return *IFC4_IfcPipeFittingType_type; } const IfcParse::entity& Ifc4::IfcPipeFittingType::Class() { return *IFC4_IfcPipeFittingType_type; } Ifc4::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData* e) : IfcFlowFittingType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPipeFittingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPipeFittingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcPipeFittingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPipeSegment boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > Ifc4::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPipeSegment::declaration() const { return *IFC4_IfcPipeSegment_type; } const IfcParse::entity& Ifc4::IfcPipeSegment::Class() { return *IFC4_IfcPipeSegment_type; } Ifc4::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData* e) : IfcFlowSegment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPipeSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPipeSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPipeSegmentType ::Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPipeSegmentType::setPredefinedType(::Ifc4::IfcPipeSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPipeSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPipeSegmentType::declaration() const { return *IFC4_IfcPipeSegmentType_type; } const IfcParse::entity& Ifc4::IfcPipeSegmentType::Class() { return *IFC4_IfcPipeSegmentType_type; } Ifc4::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData* e) : IfcFlowSegmentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPipeSegmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPipeSegmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPixelTexture int Ifc4::IfcPixelTexture::Width() const { int v = *data_->getArgument(5); return v; } void Ifc4::IfcPixelTexture::setWidth(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } int Ifc4::IfcPixelTexture::Height() const { int v = *data_->getArgument(6); return v; } void Ifc4::IfcPixelTexture::setHeight(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4::IfcPixelTexture::ColourComponents() const { int v = *data_->getArgument(7); return v; } void Ifc4::IfcPixelTexture::setColourComponents(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPixelTexture::declaration() const { return *IFC4_IfcPixelTexture_type; } const IfcParse::entity& Ifc4::IfcPixelTexture::Class() { return *IFC4_IfcPixelTexture_type; } Ifc4::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurfaceTexture((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPixelTexture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement ::Ifc4::IfcCartesianPoint* Ifc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcPlacement::setLocation(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPlacement::declaration() const { return *IFC4_IfcPlacement_type; } const IfcParse::entity& Ifc4::IfcPlacement::Class() { return *IFC4_IfcPlacement_type; } Ifc4::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlacement_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPlacement::IfcPlacement(::Ifc4::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox ::Ifc4::IfcAxis2Placement* Ifc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcPlanarBox::setPlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPlanarBox::declaration() const { return *IFC4_IfcPlanarBox_type; } const IfcParse::entity& Ifc4::IfcPlanarBox::Class() { return *IFC4_IfcPlanarBox_type; } Ifc4::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData* e) : IfcPlanarExtent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlanarBox_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlanarBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SizeInX));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SizeInY));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Placement));data_->setArgument(2,attr);} } // Function implementations for IfcPlanarExtent double Ifc4::IfcPlanarExtent::SizeInX() const { double v = *data_->getArgument(0); return v; } void Ifc4::IfcPlanarExtent::setSizeInX(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcPlanarExtent::SizeInY() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcPlanarExtent::setSizeInY(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcPlanarExtent::declaration() const { return *IFC4_IfcPlanarExtent_type; } const IfcParse::entity& Ifc4::IfcPlanarExtent::Class() { return *IFC4_IfcPlanarExtent_type; } Ifc4::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlanarExtent_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlanarExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SizeInX));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SizeInY));data_->setArgument(1,attr);} } // Function implementations for IfcPlane const IfcParse::entity& Ifc4::IfcPlane::declaration() const { return *IFC4_IfcPlane_type; } const IfcParse::entity& Ifc4::IfcPlane::Class() { return *IFC4_IfcPlane_type; } Ifc4::IfcPlane::IfcPlane(IfcEntityInstanceData* e) : IfcElementarySurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlane_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPlane::IfcPlane(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcPlate boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > Ifc4::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPlate::declaration() const { return *IFC4_IfcPlate_type; } const IfcParse::entity& Ifc4::IfcPlate::Class() { return *IFC4_IfcPlate_type; } Ifc4::IfcPlate::IfcPlate(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlate_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPlateTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPlateStandardCase const IfcParse::entity& Ifc4::IfcPlateStandardCase::declaration() const { return *IFC4_IfcPlateStandardCase_type; } const IfcParse::entity& Ifc4::IfcPlateStandardCase::Class() { return *IFC4_IfcPlateStandardCase_type; } Ifc4::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData* e) : IfcPlate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlateStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlateStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPlateTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPlateType ::Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateType::PredefinedType() const { return ::Ifc4::IfcPlateTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPlateType::setPredefinedType(::Ifc4::IfcPlateTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPlateTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPlateType::declaration() const { return *IFC4_IfcPlateType_type; } const IfcParse::entity& Ifc4::IfcPlateType::Class() { return *IFC4_IfcPlateType_type; } Ifc4::IfcPlateType::IfcPlateType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPlateType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlateType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcPlateTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPoint const IfcParse::entity& Ifc4::IfcPoint::declaration() const { return *IFC4_IfcPoint_type; } const IfcParse::entity& Ifc4::IfcPoint::Class() { return *IFC4_IfcPoint_type; } Ifc4::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPoint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPoint_type); } // Function implementations for IfcPointOnCurve ::Ifc4::IfcCurve* Ifc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPointOnCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcPointOnCurve::declaration() const { return *IFC4_IfcPointOnCurve_type; } const IfcParse::entity& Ifc4::IfcPointOnCurve::Class() { return *IFC4_IfcPointOnCurve_type; } Ifc4::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPointOnCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface ::Ifc4::IfcSurface* Ifc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPointOnSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcPointOnSurface::PointParameterV() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcPointOnSurface::setPointParameterV(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPointOnSurface::declaration() const { return *IFC4_IfcPointOnSurface_type; } const IfcParse::entity& Ifc4::IfcPointOnSurface::Class() { return *IFC4_IfcPointOnSurface_type; } Ifc4::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData* e) : IfcPoint((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPointOnSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPointOnSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameterU));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_PointParameterV));data_->setArgument(2,attr);} } // Function implementations for IfcPolyLoop aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPolyLoop::declaration() const { return *IFC4_IfcPolyLoop_type; } const IfcParse::entity& Ifc4::IfcPolyLoop::Class() { return *IFC4_IfcPolyLoop_type; } Ifc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPolyLoop_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcBoundedCurve* Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPolygonalBoundedHalfSpace::declaration() const { return *IFC4_IfcPolygonalBoundedHalfSpace_type; } const IfcParse::entity& Ifc4::IfcPolygonalBoundedHalfSpace::Class() { return *IFC4_IfcPolygonalBoundedHalfSpace_type; } Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData* e) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPolygonalBoundedHalfSpace_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D* v3_Position, ::Ifc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPolygonalBoundedHalfSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BaseSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AgreementFlag));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_PolygonalBoundary));data_->setArgument(3,attr);} } // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr Ifc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcIndexedPolygonalFace >(); } void Ifc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPolygonalFaceSet::declaration() const { return *IFC4_IfcPolygonalFaceSet_type; } const IfcParse::entity& Ifc4::IfcPolygonalFaceSet::Class() { return *IFC4_IfcPolygonalFaceSet_type; } Ifc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData* e) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPolygonalFaceSet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPolygonalFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Closed));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Faces)->generalize());data_->setArgument(2,attr);} if (v4_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_PnIndex));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPolyline aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcPolyline::setPoints(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPolyline::declaration() const { return *IFC4_IfcPolyline_type; } const IfcParse::entity& Ifc4::IfcPolyline::Class() { return *IFC4_IfcPolyline_type; } Ifc4::IfcPolyline::IfcPolyline(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPolyline_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPolyline_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPort ::Ifc4::IfcRelConnectsPortToElement::list::ptr Ifc4::IfcPort::ContainedIn() const { return data_->getInverse(IFC4_IfcRelConnectsPortToElement_type, 4)->as(); } ::Ifc4::IfcRelConnectsPorts::list::ptr Ifc4::IfcPort::ConnectedFrom() const { return data_->getInverse(IFC4_IfcRelConnectsPorts_type, 5)->as(); } ::Ifc4::IfcRelConnectsPorts::list::ptr Ifc4::IfcPort::ConnectedTo() const { return data_->getInverse(IFC4_IfcRelConnectsPorts_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcPort::declaration() const { return *IFC4_IfcPort_type; } const IfcParse::entity& Ifc4::IfcPort::Class() { return *IFC4_IfcPort_type; } Ifc4::IfcPort::IfcPort(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPort_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPort_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPostalAddress::declaration() const { return *IFC4_IfcPostalAddress_type; } const IfcParse::entity& Ifc4::IfcPostalAddress::Class() { return *IFC4_IfcPostalAddress_type; } Ifc4::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData* e) : IfcAddress((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPostalAddress_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPostalAddress_type); if (v1_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v1_Purpose,::Ifc4::IfcAddressTypeEnum::ToString(*v1_Purpose))));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedPurpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedPurpose));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_InternalLocation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_InternalLocation));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_AddressLines) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_AddressLines));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PostalBox) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_PostalBox));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Town) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Town));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Region) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Region));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PostalCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_PostalCode));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Country) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Country));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcPreDefinedColour const IfcParse::entity& Ifc4::IfcPreDefinedColour::declaration() const { return *IFC4_IfcPreDefinedColour_type; } const IfcParse::entity& Ifc4::IfcPreDefinedColour::Class() { return *IFC4_IfcPreDefinedColour_type; } Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData* e) : IfcPreDefinedItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedColour_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedColour_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcPreDefinedCurveFont const IfcParse::entity& Ifc4::IfcPreDefinedCurveFont::declaration() const { return *IFC4_IfcPreDefinedCurveFont_type; } const IfcParse::entity& Ifc4::IfcPreDefinedCurveFont::Class() { return *IFC4_IfcPreDefinedCurveFont_type; } Ifc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData* e) : IfcPreDefinedItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedCurveFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedCurveFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcPreDefinedItem std::string Ifc4::IfcPreDefinedItem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPreDefinedItem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPreDefinedItem::declaration() const { return *IFC4_IfcPreDefinedItem_type; } const IfcParse::entity& Ifc4::IfcPreDefinedItem::Class() { return *IFC4_IfcPreDefinedItem_type; } Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcPreDefinedProperties const IfcParse::entity& Ifc4::IfcPreDefinedProperties::declaration() const { return *IFC4_IfcPreDefinedProperties_type; } const IfcParse::entity& Ifc4::IfcPreDefinedProperties::Class() { return *IFC4_IfcPreDefinedProperties_type; } Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedProperties_type); } // Function implementations for IfcPreDefinedPropertySet const IfcParse::entity& Ifc4::IfcPreDefinedPropertySet::declaration() const { return *IFC4_IfcPreDefinedPropertySet_type; } const IfcParse::entity& Ifc4::IfcPreDefinedPropertySet::Class() { return *IFC4_IfcPreDefinedPropertySet_type; } Ifc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData* e) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedPropertySet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedPropertySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPreDefinedTextFont const IfcParse::entity& Ifc4::IfcPreDefinedTextFont::declaration() const { return *IFC4_IfcPreDefinedTextFont_type; } const IfcParse::entity& Ifc4::IfcPreDefinedTextFont::Class() { return *IFC4_IfcPreDefinedTextFont_type; } Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData* e) : IfcPreDefinedItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPreDefinedTextFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPreDefinedTextFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} } // Function implementations for IfcPresentationItem const IfcParse::entity& Ifc4::IfcPresentationItem::declaration() const { return *IFC4_IfcPresentationItem_type; } const IfcParse::entity& Ifc4::IfcPresentationItem::Class() { return *IFC4_IfcPresentationItem_type; } Ifc4::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationItem_type); } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcLayeredItem >(); } void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *IFC4_IfcPresentationLayerAssignment_type; } Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = *data_->getArgument(5); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = *data_->getArgument(6); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr Ifc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPresentationStyle >(); } void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::declaration() const { return *IFC4_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *IFC4_IfcPresentationLayerWithStyle_type; } Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPresentationStyle::declaration() const { return *IFC4_IfcPresentationStyle_type; } const IfcParse::entity& Ifc4::IfcPresentationStyle::Class() { return *IFC4_IfcPresentationStyle_type; } Ifc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcPresentationStyleAssignment aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcPresentationStyleSelect >(); } void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::declaration() const { return *IFC4_IfcPresentationStyleAssignment_type; } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *IFC4_IfcPresentationStyleAssignment_type; } Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPresentationStyleAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPresentationStyleAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Styles)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcProcedure boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcProcedure::declaration() const { return *IFC4_IfcProcedure_type; } const IfcParse::entity& Ifc4::IfcProcedure::Class() { return *IFC4_IfcProcedure_type; } Ifc4::IfcProcedure::IfcProcedure(IfcEntityInstanceData* e) : IfcProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProcedure_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProcedure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4::IfcProcedureTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcProcedureType ::Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureType::PredefinedType() const { return ::Ifc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcProcedureType::setPredefinedType(::Ifc4::IfcProcedureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcProcedureTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcProcedureType::declaration() const { return *IFC4_IfcProcedureType_type; } const IfcParse::entity& Ifc4::IfcProcedureType::Class() { return *IFC4_IfcProcedureType_type; } Ifc4::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProcedureType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProcedureType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcProcedureTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProcess boost::optional< std::string > Ifc4::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelSequence::list::ptr Ifc4::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4_IfcRelSequence_type, 4)->as(); } ::Ifc4::IfcRelSequence::list::ptr Ifc4::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4_IfcRelSequence_type, 5)->as(); } ::Ifc4::IfcRelAssignsToProcess::list::ptr Ifc4::IfcProcess::OperatesOn() const { return data_->getInverse(IFC4_IfcRelAssignsToProcess_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcProcess::declaration() const { return *IFC4_IfcProcess_type; } const IfcParse::entity& Ifc4::IfcProcess::Class() { return *IFC4_IfcProcess_type; } Ifc4::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProcess_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct ::Ifc4::IfcObjectPlacement* Ifc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcProduct::setObjectPlacement(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcProductRepresentation* Ifc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductRepresentation>(true); } void Ifc4::IfcProduct::setRepresentation(::Ifc4::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4_IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcProduct::declaration() const { return *IFC4_IfcProduct_type; } const IfcParse::entity& Ifc4::IfcProduct::Class() { return *IFC4_IfcProduct_type; } Ifc4::IfcProduct::IfcProduct(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProduct_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcProductDefinitionShape ::Ifc4::IfcProduct::list::ptr Ifc4::IfcProductDefinitionShape::ShapeOfProduct() const { return data_->getInverse(IFC4_IfcProduct_type, 6)->as(); } ::Ifc4::IfcShapeAspect::list::ptr Ifc4::IfcProductDefinitionShape::HasShapeAspects() const { return data_->getInverse(IFC4_IfcShapeAspect_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcProductDefinitionShape::declaration() const { return *IFC4_IfcProductDefinitionShape_type; } const IfcParse::entity& Ifc4::IfcProductDefinitionShape::Class() { return *IFC4_IfcProductDefinitionShape_type; } Ifc4::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData* e) : IfcProductRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProductDefinitionShape_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProductDefinitionShape_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcRepresentation >::ptr Ifc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcRepresentation >(); } void Ifc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcProductRepresentation::declaration() const { return *IFC4_IfcProductRepresentation_type; } const IfcParse::entity& Ifc4::IfcProductRepresentation::Class() { return *IFC4_IfcProductRepresentation_type; } Ifc4::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcProductRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcProductRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcProfileDef ::Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileDef::ProfileType() const { return ::Ifc4::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcProfileDef::setProfileType(::Ifc4::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcProfileProperties::list::ptr Ifc4::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4_IfcProfileProperties_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcProfileDef::declaration() const { return *IFC4_IfcProfileDef_type; } const IfcParse::entity& Ifc4::IfcProfileDef::Class() { return *IFC4_IfcProfileDef_type; } Ifc4::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcProfileDef::IfcProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties ::Ifc4::IfcProfileDef* Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcProfileProperties::setProfileDefinition(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcProfileProperties::declaration() const { return *IFC4_IfcProfileProperties_type; } const IfcParse::entity& Ifc4::IfcProfileProperties::Class() { return *IFC4_IfcProfileProperties_type; } Ifc4::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData* e) : IfcExtendedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProfileProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProfileProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ProfileDefinition));data_->setArgument(3,attr);} } // Function implementations for IfcProject const IfcParse::entity& Ifc4::IfcProject::declaration() const { return *IFC4_IfcProject_type; } const IfcParse::entity& Ifc4::IfcProject::Class() { return *IFC4_IfcProject_type; } Ifc4::IfcProject::IfcProject(IfcEntityInstanceData* e) : IfcContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProject_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcProjectLibrary const IfcParse::entity& Ifc4::IfcProjectLibrary::declaration() const { return *IFC4_IfcProjectLibrary_type; } const IfcParse::entity& Ifc4::IfcProjectLibrary::Class() { return *IFC4_IfcProjectLibrary_type; } Ifc4::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData* e) : IfcContext((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProjectLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProjectLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Phase) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Phase));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_RepresentationContexts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_RepresentationContexts)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_UnitsInContext));data_->setArgument(8,attr);} } // Function implementations for IfcProjectOrder boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > Ifc4::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProjectOrder::declaration() const { return *IFC4_IfcProjectOrder_type; } const IfcParse::entity& Ifc4::IfcProjectOrder::Class() { return *IFC4_IfcProjectOrder_type; } Ifc4::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProjectOrder_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProjectOrder_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcProjectedCRS::setMapUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcProjectedCRS::declaration() const { return *IFC4_IfcProjectedCRS_type; } const IfcParse::entity& Ifc4::IfcProjectedCRS::Class() { return *IFC4_IfcProjectedCRS_type; } Ifc4::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData* e) : IfcCoordinateReferenceSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProjectedCRS_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProjectedCRS_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GeodeticDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GeodeticDatum));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_VerticalDatum) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_VerticalDatum));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MapProjection) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MapProjection));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_MapZone) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_MapZone));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_MapUnit));data_->setArgument(6,attr);} } // Function implementations for IfcProjectionElement boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > Ifc4::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProjectionElement::declaration() const { return *IFC4_IfcProjectionElement_type; } const IfcParse::entity& Ifc4::IfcProjectionElement::Class() { return *IFC4_IfcProjectionElement_type; } Ifc4::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData* e) : IfcFeatureElementAddition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProjectionElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProjectionElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcProperty std::string Ifc4::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcPropertySet::list::ptr Ifc4::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4_IfcPropertySet_type, 4)->as(); } ::Ifc4::IfcPropertyDependencyRelationship::list::ptr Ifc4::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4_IfcPropertyDependencyRelationship_type, 2)->as(); } ::Ifc4::IfcPropertyDependencyRelationship::list::ptr Ifc4::IfcProperty::PropertyDependsOn() const { return data_->getInverse(IFC4_IfcPropertyDependencyRelationship_type, 3)->as(); } ::Ifc4::IfcComplexProperty::list::ptr Ifc4::IfcProperty::PartOfComplex() const { return data_->getInverse(IFC4_IfcComplexProperty_type, 3)->as(); } ::Ifc4::IfcResourceConstraintRelationship::list::ptr Ifc4::IfcProperty::HasConstraints() const { return data_->getInverse(IFC4_IfcResourceConstraintRelationship_type, 3)->as(); } ::Ifc4::IfcResourceApprovalRelationship::list::ptr Ifc4::IfcProperty::HasApprovals() const { return data_->getInverse(IFC4_IfcResourceApprovalRelationship_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcProperty::declaration() const { return *IFC4_IfcProperty_type; } const IfcParse::entity& Ifc4::IfcProperty::Class() { return *IFC4_IfcProperty_type; } Ifc4::IfcProperty::IfcProperty(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProperty_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProperty_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPropertyAbstraction ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcPropertyAbstraction::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcPropertyAbstraction::declaration() const { return *IFC4_IfcPropertyAbstraction_type; } const IfcParse::entity& Ifc4::IfcPropertyAbstraction::Class() { return *IFC4_IfcPropertyAbstraction_type; } Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcPropertyAbstraction_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue ::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyBoundedValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcPropertyBoundedValue::declaration() const { return *IFC4_IfcPropertyBoundedValue_type; } const IfcParse::entity& Ifc4::IfcPropertyBoundedValue::Class() { return *IFC4_IfcPropertyBoundedValue_type; } Ifc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyBoundedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyBoundedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_UpperBoundValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LowerBoundValue));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Unit));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_SetPointValue));data_->setArgument(5,attr);} } // Function implementations for IfcPropertyDefinition ::Ifc4::IfcRelDeclares::list::ptr Ifc4::IfcPropertyDefinition::HasContext() const { return data_->getInverse(IFC4_IfcRelDeclares_type, 5)->as(); } ::Ifc4::IfcRelAssociates::list::ptr Ifc4::IfcPropertyDefinition::HasAssociations() const { return data_->getInverse(IFC4_IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcPropertyDefinition::declaration() const { return *IFC4_IfcPropertyDefinition_type; } const IfcParse::entity& Ifc4::IfcPropertyDefinition::Class() { return *IFC4_IfcPropertyDefinition_type; } Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* e) : IfcRoot((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcPropertyDependencyRelationship::declaration() const { return *IFC4_IfcPropertyDependencyRelationship_type; } const IfcParse::entity& Ifc4::IfcPropertyDependencyRelationship::Class() { return *IFC4_IfcPropertyDependencyRelationship_type; } Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyDependencyRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::declaration() const { return *IFC4_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *IFC4_IfcPropertyEnumeratedValue_type; } Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::declaration() const { return *IFC4_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::Class() { return *IFC4_IfcPropertyEnumeration_type; } Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPropertyListValue::declaration() const { return *IFC4_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4::IfcPropertyListValue::Class() { return *IFC4_IfcPropertyListValue_type; } Ifc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcObjectReferenceSelect>(true); } void Ifc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPropertyReferenceValue::declaration() const { return *IFC4_IfcPropertyReferenceValue_type; } const IfcParse::entity& Ifc4::IfcPropertyReferenceValue::Class() { return *IFC4_IfcPropertyReferenceValue_type; } Ifc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyReferenceValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyReferenceValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UsageName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UsageName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_PropertyReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertySet aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcPropertySet::declaration() const { return *IFC4_IfcPropertySet_type; } const IfcParse::entity& Ifc4::IfcPropertySet::Class() { return *IFC4_IfcPropertySet_type; } Ifc4::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData* e) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertySet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HasProperties)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcPropertySetDefinition ::Ifc4::IfcTypeObject::list::ptr Ifc4::IfcPropertySetDefinition::DefinesType() const { return data_->getInverse(IFC4_IfcTypeObject_type, 5)->as(); } ::Ifc4::IfcRelDefinesByTemplate::list::ptr Ifc4::IfcPropertySetDefinition::IsDefinedBy() const { return data_->getInverse(IFC4_IfcRelDefinesByTemplate_type, 4)->as(); } ::Ifc4::IfcRelDefinesByProperties::list::ptr Ifc4::IfcPropertySetDefinition::DefinesOccurrence() const { return data_->getInverse(IFC4_IfcRelDefinesByProperties_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcPropertySetDefinition::declaration() const { return *IFC4_IfcPropertySetDefinition_type; } const IfcParse::entity& Ifc4::IfcPropertySetDefinition::Class() { return *IFC4_IfcPropertySetDefinition_type; } Ifc4::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData* e) : IfcPropertyDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertySetDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } ::Ifc4::IfcRelDefinesByTemplate::list::ptr Ifc4::IfcPropertySetTemplate::Defines() const { return data_->getInverse(IFC4_IfcRelDefinesByTemplate_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcPropertySetTemplate::declaration() const { return *IFC4_IfcPropertySetTemplate_type; } const IfcParse::entity& Ifc4::IfcPropertySetTemplate::Class() { return *IFC4_IfcPropertySetTemplate_type; } Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertySetTemplate_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue ::Ifc4::IfcValue* Ifc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertySingleValue::setNominalValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertySingleValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPropertySingleValue::declaration() const { return *IFC4_IfcPropertySingleValue_type; } const IfcParse::entity& Ifc4::IfcPropertySingleValue::Class() { return *IFC4_IfcPropertySingleValue_type; } Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertySingleValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_NominalValue, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcPropertyTableValue::declaration() const { return *IFC4_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4::IfcPropertyTableValue::Class() { return *IFC4_IfcPropertyTableValue_type; } Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate ::Ifc4::IfcComplexPropertyTemplate::list::ptr Ifc4::IfcPropertyTemplate::PartOfComplexTemplate() const { return data_->getInverse(IFC4_IfcComplexPropertyTemplate_type, 6)->as(); } ::Ifc4::IfcPropertySetTemplate::list::ptr Ifc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return data_->getInverse(IFC4_IfcPropertySetTemplate_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcPropertyTemplate::declaration() const { return *IFC4_IfcPropertyTemplate_type; } const IfcParse::entity& Ifc4::IfcPropertyTemplate::Class() { return *IFC4_IfcPropertyTemplate_type; } Ifc4::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyTemplate_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyTemplateDefinition const IfcParse::entity& Ifc4::IfcPropertyTemplateDefinition::declaration() const { return *IFC4_IfcPropertyTemplateDefinition_type; } const IfcParse::entity& Ifc4::IfcPropertyTemplateDefinition::Class() { return *IFC4_IfcPropertyTemplateDefinition_type; } Ifc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData* e) : IfcPropertyDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPropertyTemplateDefinition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyTemplateDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDevice::declaration() const { return *IFC4_IfcProtectiveDevice_type; } const IfcParse::entity& Ifc4::IfcProtectiveDevice::Class() { return *IFC4_IfcProtectiveDevice_type; } Ifc4::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProtectiveDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4_IfcProtectiveDeviceTrippingUnit_type; } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::Class() { return *IFC4_IfcProtectiveDeviceTrippingUnit_type; } Ifc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProtectiveDeviceTrippingUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTrippingUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *IFC4_IfcProtectiveDeviceTrippingUnitType_type; } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *IFC4_IfcProtectiveDeviceTrippingUnitType_type; } Ifc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProtectiveDeviceTrippingUnitType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceTrippingUnitType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProtectiveDeviceType ::Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcProtectiveDeviceType::setPredefinedType(::Ifc4::IfcProtectiveDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDeviceType::declaration() const { return *IFC4_IfcProtectiveDeviceType_type; } const IfcParse::entity& Ifc4::IfcProtectiveDeviceType::Class() { return *IFC4_IfcProtectiveDeviceType_type; } Ifc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProtectiveDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProtectiveDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcProxy ::Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcProxy::ProxyType() const { return ::Ifc4::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcProxy::setProxyType(::Ifc4::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProxy::declaration() const { return *IFC4_IfcProxy_type; } const IfcParse::entity& Ifc4::IfcProxy::Class() { return *IFC4_IfcProxy_type; } Ifc4::IfcProxy::IfcProxy(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcProxy_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProxy_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ProxyType,::Ifc4::IfcObjectTypeEnum::ToString(v8_ProxyType))));data_->setArgument(7,attr);} if (v9_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Tag));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPump boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > Ifc4::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPump::declaration() const { return *IFC4_IfcPump_type; } const IfcParse::entity& Ifc4::IfcPump::Class() { return *IFC4_IfcPump_type; } Ifc4::IfcPump::IfcPump(IfcEntityInstanceData* e) : IfcFlowMovingDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPump_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPump_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcPumpTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcPumpType ::Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpType::PredefinedType() const { return ::Ifc4::IfcPumpTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcPumpType::setPredefinedType(::Ifc4::IfcPumpTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPumpTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPumpType::declaration() const { return *IFC4_IfcPumpType_type; } const IfcParse::entity& Ifc4::IfcPumpType::Class() { return *IFC4_IfcPumpType_type; } Ifc4::IfcPumpType::IfcPumpType(IfcEntityInstanceData* e) : IfcFlowMovingDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcPumpType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPumpType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcPumpTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcQuantityArea double Ifc4::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityArea::declaration() const { return *IFC4_IfcQuantityArea_type; } const IfcParse::entity& Ifc4::IfcQuantityArea::Class() { return *IFC4_IfcQuantityArea_type; } Ifc4::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityArea_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_AreaValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityCount double Ifc4::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityCount::declaration() const { return *IFC4_IfcQuantityCount_type; } const IfcParse::entity& Ifc4::IfcQuantityCount::Class() { return *IFC4_IfcQuantityCount_type; } Ifc4::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityCount_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityCount_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CountValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityLength double Ifc4::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityLength::declaration() const { return *IFC4_IfcQuantityLength_type; } const IfcParse::entity& Ifc4::IfcQuantityLength::Class() { return *IFC4_IfcQuantityLength_type; } Ifc4::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityLength_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityLength_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LengthValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantitySet const IfcParse::entity& Ifc4::IfcQuantitySet::declaration() const { return *IFC4_IfcQuantitySet_type; } const IfcParse::entity& Ifc4::IfcQuantitySet::Class() { return *IFC4_IfcQuantitySet_type; } Ifc4::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData* e) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantitySet_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantitySet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcQuantityTime double Ifc4::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityTime::declaration() const { return *IFC4_IfcQuantityTime_type; } const IfcParse::entity& Ifc4::IfcQuantityTime::Class() { return *IFC4_IfcQuantityTime_type; } Ifc4::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityTime_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TimeValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityVolume double Ifc4::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityVolume::declaration() const { return *IFC4_IfcQuantityVolume_type; } const IfcParse::entity& Ifc4::IfcQuantityVolume::Class() { return *IFC4_IfcQuantityVolume_type; } Ifc4::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityVolume_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityVolume_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_VolumeValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcQuantityWeight double Ifc4::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityWeight::declaration() const { return *IFC4_IfcQuantityWeight_type; } const IfcParse::entity& Ifc4::IfcQuantityWeight::Class() { return *IFC4_IfcQuantityWeight_type; } Ifc4::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData* e) : IfcPhysicalSimpleQuantity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcQuantityWeight_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcQuantityWeight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_WeightValue));data_->setArgument(3,attr);} if (v5_Formula) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Formula));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcRailing boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > Ifc4::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRailing::declaration() const { return *IFC4_IfcRailing_type; } const IfcParse::entity& Ifc4::IfcRailing::Class() { return *IFC4_IfcRailing_type; } Ifc4::IfcRailing::IfcRailing(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRailing_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRailing_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcRailingTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRailingType ::Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingType::PredefinedType() const { return ::Ifc4::IfcRailingTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcRailingType::setPredefinedType(::Ifc4::IfcRailingTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRailingTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRailingType::declaration() const { return *IFC4_IfcRailingType_type; } const IfcParse::entity& Ifc4::IfcRailingType::Class() { return *IFC4_IfcRailingType_type; } Ifc4::IfcRailingType::IfcRailingType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRailingType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRailingType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcRailingTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRamp boost::optional< ::Ifc4::IfcRampTypeEnum::Value > Ifc4::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRamp::declaration() const { return *IFC4_IfcRamp_type; } const IfcParse::entity& Ifc4::IfcRamp::Class() { return *IFC4_IfcRamp_type; } Ifc4::IfcRamp::IfcRamp(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRamp_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRamp_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcRampTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRampFlight boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > Ifc4::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRampFlight::declaration() const { return *IFC4_IfcRampFlight_type; } const IfcParse::entity& Ifc4::IfcRampFlight::Class() { return *IFC4_IfcRampFlight_type; } Ifc4::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRampFlight_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRampFlight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcRampFlightTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRampFlightType ::Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcRampFlightType::setPredefinedType(::Ifc4::IfcRampFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRampFlightTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRampFlightType::declaration() const { return *IFC4_IfcRampFlightType_type; } const IfcParse::entity& Ifc4::IfcRampFlightType::Class() { return *IFC4_IfcRampFlightType_type; } Ifc4::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRampFlightType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRampFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcRampFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRampType ::Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampType::PredefinedType() const { return ::Ifc4::IfcRampTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcRampType::setPredefinedType(::Ifc4::IfcRampTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRampTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRampType::declaration() const { return *IFC4_IfcRampType_type; } const IfcParse::entity& Ifc4::IfcRampType::Class() { return *IFC4_IfcRampType_type; } Ifc4::IfcRampType::IfcRampType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRampType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRampType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcRampTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRationalBSplineCurveWithKnots::declaration() const { return *IFC4_IfcRationalBSplineCurveWithKnots_type; } const IfcParse::entity& Ifc4::IfcRationalBSplineCurveWithKnots::Class() { return *IFC4_IfcRationalBSplineCurveWithKnots_type; } Ifc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData* e) : IfcBSplineCurveWithKnots((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRationalBSplineCurveWithKnots_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRationalBSplineCurveWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Degree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ControlPointsList)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_CurveForm,::Ifc4::IfcBSplineCurveForm::ToString(v3_CurveForm))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ClosedCurve));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SelfIntersect));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_KnotMultiplicities));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Knots));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_KnotSpec,::Ifc4::IfcKnotType::ToString(v8_KnotSpec))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_WeightsData));data_->setArgument(8,attr);} } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = *data_->getArgument(12); return v; } void Ifc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *IFC4_IfcRationalBSplineSurfaceWithKnots_type; } const IfcParse::entity& Ifc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *IFC4_IfcRationalBSplineSurfaceWithKnots_type; } Ifc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData* e) : IfcBSplineSurfaceWithKnots((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRationalBSplineSurfaceWithKnots_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRationalBSplineSurfaceWithKnots_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_UDegree));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VDegree));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ControlPointsList)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_SurfaceForm,::Ifc4::IfcBSplineSurfaceForm::ToString(v4_SurfaceForm))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_UClosed));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_VClosed));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SelfIntersect));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_UMultiplicities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_VMultiplicities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_UKnots));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_VKnots));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_KnotSpec,::Ifc4::IfcKnotType::ToString(v12_KnotSpec))));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_WeightsData));data_->setArgument(12,attr);} } // Function implementations for IfcRectangleHollowProfileDef double Ifc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRectangleHollowProfileDef::declaration() const { return *IFC4_IfcRectangleHollowProfileDef_type; } const IfcParse::entity& Ifc4::IfcRectangleHollowProfileDef::Class() { return *IFC4_IfcRectangleHollowProfileDef_type; } Ifc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData* e) : IfcRectangleProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRectangleHollowProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRectangleHollowProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WallThickness));data_->setArgument(5,attr);} if (v7_InnerFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_InnerFilletRadius));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_OuterFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_OuterFilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcRectangleProfileDef double Ifc4::IfcRectangleProfileDef::XDim() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcRectangleProfileDef::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcRectangleProfileDef::YDim() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcRectangleProfileDef::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcRectangleProfileDef::declaration() const { return *IFC4_IfcRectangleProfileDef_type; } const IfcParse::entity& Ifc4::IfcRectangleProfileDef::Class() { return *IFC4_IfcRectangleProfileDef_type; } Ifc4::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRectangleProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRectangleProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);} } // Function implementations for IfcRectangularPyramid double Ifc4::IfcRectangularPyramid::XLength() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcRectangularPyramid::setXLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcRectangularPyramid::YLength() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcRectangularPyramid::setYLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcRectangularPyramid::Height() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcRectangularPyramid::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcRectangularPyramid::declaration() const { return *IFC4_IfcRectangularPyramid_type; } const IfcParse::entity& Ifc4::IfcRectangularPyramid::Class() { return *IFC4_IfcRectangularPyramid_type; } Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRectangularPyramid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4::IfcSurface* Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcRectangularTrimmedSurface::V1() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcRectangularTrimmedSurface::setV1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcRectangularTrimmedSurface::U2() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcRectangularTrimmedSurface::V2() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcRectangularTrimmedSurface::setV2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } bool Ifc4::IfcRectangularTrimmedSurface::Usense() const { bool v = *data_->getArgument(5); return v; } void Ifc4::IfcRectangularTrimmedSurface::setUsense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } bool Ifc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = *data_->getArgument(6); return v; } void Ifc4::IfcRectangularTrimmedSurface::setVsense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRectangularTrimmedSurface::declaration() const { return *IFC4_IfcRectangularTrimmedSurface_type; } const IfcParse::entity& Ifc4::IfcRectangularTrimmedSurface::Class() { return *IFC4_IfcRectangularTrimmedSurface_type; } Ifc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData* e) : IfcBoundedSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRectangularTrimmedSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRectangularTrimmedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_U1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_V1));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_U2));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_V2));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Usense));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Vsense));data_->setArgument(6,attr);} } // Function implementations for IfcRecurrencePattern ::Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } void Ifc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } void Ifc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } void Ifc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcTimePeriod >(); } void Ifc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRecurrencePattern::declaration() const { return *IFC4_IfcRecurrencePattern_type; } const IfcParse::entity& Ifc4::IfcRecurrencePattern::Class() { return *IFC4_IfcRecurrencePattern_type; } Ifc4::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRecurrencePattern_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcRecurrencePattern_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_RecurrenceType,::Ifc4::IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType))));data_->setArgument(0,attr);} if (v2_DayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DayComponent));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_WeekdayComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_WeekdayComponent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MonthComponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MonthComponent));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Position) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Position));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Interval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Interval));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Occurrences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Occurrences));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_TimePeriods) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TimePeriods)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcReference boost::optional< std::string > Ifc4::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcReference::setInnerReference(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcReference::declaration() const { return *IFC4_IfcReference_type; } const IfcParse::entity& Ifc4::IfcReference::Class() { return *IFC4_IfcReference_type; } Ifc4::IfcReference::IfcReference(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcReference_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcReference_type); if (v1_TypeIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_TypeIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_AttributeIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_AttributeIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_InstanceName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InstanceName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ListPositions) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ListPositions));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_InnerReference));data_->setArgument(4,attr);} } // Function implementations for IfcRegularTimeSeries double Ifc4::IfcRegularTimeSeries::TimeStep() const { double v = *data_->getArgument(8); return v; } void Ifc4::IfcRegularTimeSeries::setTimeStep(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr Ifc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcTimeSeriesValue >(); } void Ifc4::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRegularTimeSeries::declaration() const { return *IFC4_IfcRegularTimeSeries_type; } const IfcParse::entity& Ifc4::IfcRegularTimeSeries::Class() { return *IFC4_IfcRegularTimeSeries_type; } Ifc4::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData* e) : IfcTimeSeries((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRegularTimeSeries_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRegularTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_TimeStep));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Values)->generalize());data_->setArgument(9,attr);} } // Function implementations for IfcReinforcementBarProperties double Ifc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = *data_->getArgument(0); return v; } void Ifc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcReinforcementBarProperties::declaration() const { return *IFC4_IfcReinforcementBarProperties_type; } const IfcParse::entity& Ifc4::IfcReinforcementBarProperties::Class() { return *IFC4_IfcReinforcementBarProperties_type; } Ifc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData* e) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcementBarProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcementBarProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TotalCrossSectionArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SteelGrade));data_->setArgument(1,attr);} if (v3_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EffectiveDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EffectiveDepth));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_NominalBarDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_NominalBarDiameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_BarCount) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_BarCount));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcSectionReinforcementProperties >(); } void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcReinforcementDefinitionProperties::declaration() const { return *IFC4_IfcReinforcementDefinitionProperties_type; } const IfcParse::entity& Ifc4::IfcReinforcementDefinitionProperties::Class() { return *IFC4_IfcReinforcementDefinitionProperties_type; } Ifc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcementDefinitionProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcementDefinitionProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_DefinitionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_DefinitionType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReinforcementSectionDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > Ifc4::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } void Ifc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBar::declaration() const { return *IFC4_IfcReinforcingBar_type; } const IfcParse::entity& Ifc4::IfcReinforcingBar::Class() { return *IFC4_IfcReinforcingBar_type; } Ifc4::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData* e) : IfcReinforcingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingBar_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBar_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NominalDiameter));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CrossSectionArea));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_BarLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcReinforcingBarType ::Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcReinforcingBarType::setPredefinedType(::Ifc4::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBarType::declaration() const { return *IFC4_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4::IfcReinforcingBarType::Class() { return *IFC4_IfcReinforcingBarType_type; } Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingElement::declaration() const { return *IFC4_IfcReinforcingElement_type; } const IfcParse::entity& Ifc4::IfcReinforcingElement::Class() { return *IFC4_IfcReinforcingElement_type; } Ifc4::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcReinforcingElementType const IfcParse::entity& Ifc4::IfcReinforcingElementType::declaration() const { return *IFC4_IfcReinforcingElementType_type; } const IfcParse::entity& Ifc4::IfcReinforcingElementType::Class() { return *IFC4_IfcReinforcingElementType_type; } Ifc4::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > Ifc4::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } void Ifc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMesh::declaration() const { return *IFC4_IfcReinforcingMesh_type; } const IfcParse::entity& Ifc4::IfcReinforcingMesh::Class() { return *IFC4_IfcReinforcingMesh_type; } Ifc4::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData* e) : IfcReinforcingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingMesh_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMesh_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_MeshLength));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshWidth));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LongitudinalBarNominalDiameter));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TransverseBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_LongitudinalBarCrossSectionArea));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_TransverseBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LongitudinalBarSpacing));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_TransverseBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v18_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType))));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcReinforcingMeshType ::Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::declaration() const { return *IFC4_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::Class() { return *IFC4_IfcReinforcingMeshType_type; } Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates ::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelAggregates::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAggregates::declaration() const { return *IFC4_IfcRelAggregates_type; } const IfcParse::entity& Ifc4::IfcRelAggregates::Class() { return *IFC4_IfcRelAggregates_type; } Ifc4::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAggregates_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAggregates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelAssigns aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > Ifc4::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssigns::declaration() const { return *IFC4_IfcRelAssigns_type; } const IfcParse::entity& Ifc4::IfcRelAssigns::Class() { return *IFC4_IfcRelAssigns_type; } Ifc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssigns_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor ::Ifc4::IfcActor* Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActor>(true); } void Ifc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcActorRole* Ifc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorRole>(true); } void Ifc4::IfcRelAssignsToActor::setActingRole(::Ifc4::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToActor::declaration() const { return *IFC4_IfcRelAssignsToActor_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToActor::Class() { return *IFC4_IfcRelAssignsToActor_type; } Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToActor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl ::Ifc4::IfcControl* Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcControl>(true); } void Ifc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToControl::declaration() const { return *IFC4_IfcRelAssignsToControl_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToControl::Class() { return *IFC4_IfcRelAssignsToControl_type; } Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToControl_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup ::Ifc4::IfcGroup* Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGroup>(true); } void Ifc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToGroup::declaration() const { return *IFC4_IfcRelAssignsToGroup_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToGroup::Class() { return *IFC4_IfcRelAssignsToGroup_type; } Ifc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToGroup_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = *data_->getArgument(7); return v; } void Ifc4::IfcRelAssignsToGroupByFactor::setFactor(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToGroupByFactor::declaration() const { return *IFC4_IfcRelAssignsToGroupByFactor_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToGroupByFactor::Class() { return *IFC4_IfcRelAssignsToGroupByFactor_type; } Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData* e) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToGroupByFactor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess ::Ifc4::IfcProcessSelect* Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProcessSelect>(true); } void Ifc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcMeasureWithUnit* Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToProcess::declaration() const { return *IFC4_IfcRelAssignsToProcess_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToProcess::Class() { return *IFC4_IfcRelAssignsToProcess_type; } Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToProcess_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct ::Ifc4::IfcProductSelect* Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductSelect>(true); } void Ifc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToProduct::declaration() const { return *IFC4_IfcRelAssignsToProduct_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToProduct::Class() { return *IFC4_IfcRelAssignsToProduct_type; } Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToProduct_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource ::Ifc4::IfcResourceSelect* Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcResourceSelect>(true); } void Ifc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelAssignsToResource::declaration() const { return *IFC4_IfcRelAssignsToResource_type; } const IfcParse::entity& Ifc4::IfcRelAssignsToResource::Class() { return *IFC4_IfcRelAssignsToResource_type; } Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* e) : IfcRelAssigns((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssignsToResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcDefinitionSelect >(); } void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociates::declaration() const { return *IFC4_IfcRelAssociates_type; } const IfcParse::entity& Ifc4::IfcRelAssociates::Class() { return *IFC4_IfcRelAssociates_type; } Ifc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::declaration() const { return *IFC4_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *IFC4_IfcRelAssociatesApproval_type; } Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcClassificationSelect>(true); } void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::declaration() const { return *IFC4_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *IFC4_IfcRelAssociatesClassification_type; } Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::declaration() const { return *IFC4_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *IFC4_IfcRelAssociatesConstraint_type; } Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDocumentSelect>(true); } void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::declaration() const { return *IFC4_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *IFC4_IfcRelAssociatesDocument_type; } Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibrarySelect>(true); } void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::declaration() const { return *IFC4_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *IFC4_IfcRelAssociatesLibrary_type; } Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcMaterialSelect>(true); } void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::declaration() const { return *IFC4_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *IFC4_IfcRelAssociatesMaterial_type; } Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects const IfcParse::entity& Ifc4::IfcRelConnects::declaration() const { return *IFC4_IfcRelConnects_type; } const IfcParse::entity& Ifc4::IfcRelConnects::Class() { return *IFC4_IfcRelConnects_type; } Ifc4::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnects_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements ::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsElements::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatedElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsElements::declaration() const { return *IFC4_IfcRelConnectsElements_type; } const IfcParse::entity& Ifc4::IfcRelConnectsElements::Class() { return *IFC4_IfcRelConnectsElements_type; } Ifc4::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = *data_->getArgument(7); return v; } void Ifc4::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4::IfcConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConnectionTypeEnum::ToString(v)));data_->setArgument(9,attr);} } ::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4::IfcConnectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConnectionTypeEnum::ToString(v)));data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsPathElements::declaration() const { return *IFC4_IfcRelConnectsPathElements_type; } const IfcParse::entity& Ifc4::IfcRelConnectsPathElements::Class() { return *IFC4_IfcRelConnectsPathElements_type; } Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData* e) : IfcRelConnectsElements((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsPathElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement ::Ifc4::IfcPort* Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcDistributionElement* Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionElement>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsPortToElement::declaration() const { return *IFC4_IfcRelConnectsPortToElement_type; } const IfcParse::entity& Ifc4::IfcRelConnectsPortToElement::Class() { return *IFC4_IfcRelConnectsPortToElement_type; } Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsPortToElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts ::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatingPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsPorts::declaration() const { return *IFC4_IfcRelConnectsPorts_type; } const IfcParse::entity& Ifc4::IfcRelConnectsPorts::Class() { return *IFC4_IfcRelConnectsPorts_type; } Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsPorts_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4::IfcStructuralActivityAssignmentSelect* Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcStructuralActivity* Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralActivity>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralActivity::declaration() const { return *IFC4_IfcRelConnectsStructuralActivity_type; } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralActivity::Class() { return *IFC4_IfcRelConnectsStructuralActivity_type; } Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsStructuralActivity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4::IfcStructuralMember* Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralMember>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcStructuralConnection* Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralConnection>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcBoundaryCondition* Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralMember::declaration() const { return *IFC4_IfcRelConnectsStructuralMember_type; } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralMember::Class() { return *IFC4_IfcRelConnectsStructuralMember_type; } Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsStructuralMember_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsWithEccentricity::declaration() const { return *IFC4_IfcRelConnectsWithEccentricity_type; } const IfcParse::entity& Ifc4::IfcRelConnectsWithEccentricity::Class() { return *IFC4_IfcRelConnectsWithEccentricity_type; } Ifc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData* e) : IfcRelConnectsStructuralMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsWithEccentricity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsWithEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ConnectionConstraint));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsWithRealizingElements aggregate_of< ::Ifc4::IfcElement >::ptr Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcElement >(); } void Ifc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4_IfcRelConnectsWithRealizingElements_type; } const IfcParse::entity& Ifc4::IfcRelConnectsWithRealizingElements::Class() { return *IFC4_IfcRelConnectsWithRealizingElements_type; } Ifc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData* e) : IfcRelConnectsElements((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelConnectsWithRealizingElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsWithRealizingElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RealizingElements)->generalize());data_->setArgument(7,attr);} if (v9_ConnectionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ConnectionType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcSpatialElement* Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelContainedInSpatialStructure::declaration() const { return *IFC4_IfcRelContainedInSpatialStructure_type; } const IfcParse::entity& Ifc4::IfcRelContainedInSpatialStructure::Class() { return *IFC4_IfcRelContainedInSpatialStructure_type; } Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelContainedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements ::Ifc4::IfcElement* Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelCoversBldgElements::declaration() const { return *IFC4_IfcRelCoversBldgElements_type; } const IfcParse::entity& Ifc4::IfcRelCoversBldgElements::Class() { return *IFC4_IfcRelCoversBldgElements_type; } Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelCoversBldgElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces ::Ifc4::IfcSpace* Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpace>(true); } void Ifc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelCoversSpaces::declaration() const { return *IFC4_IfcRelCoversSpaces_type; } const IfcParse::entity& Ifc4::IfcRelCoversSpaces::Class() { return *IFC4_IfcRelCoversSpaces_type; } Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelCoversSpaces_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares ::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcContext>(true); } void Ifc4::IfcRelDeclares::setRelatingContext(::Ifc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcDefinitionSelect >(); } void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDeclares::declaration() const { return *IFC4_IfcRelDeclares_type; } const IfcParse::entity& Ifc4::IfcRelDeclares::Class() { return *IFC4_IfcRelDeclares_type; } Ifc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes const IfcParse::entity& Ifc4::IfcRelDecomposes::declaration() const { return *IFC4_IfcRelDecomposes_type; } const IfcParse::entity& Ifc4::IfcRelDecomposes::Class() { return *IFC4_IfcRelDecomposes_type; } Ifc4::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDecomposes_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDecomposes_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelDefines const IfcParse::entity& Ifc4::IfcRelDefines::declaration() const { return *IFC4_IfcRelDefines_type; } const IfcParse::entity& Ifc4::IfcRelDefines::Class() { return *IFC4_IfcRelDefines_type; } Ifc4::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDefines_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefines_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcObject* Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObject>(true); } void Ifc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDefinesByObject::declaration() const { return *IFC4_IfcRelDefinesByObject_type; } const IfcParse::entity& Ifc4::IfcRelDefinesByObject::Class() { return *IFC4_IfcRelDefinesByObject_type; } Ifc4::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDefinesByObject_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefinesByObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingObject));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcPropertySetDefinitionSelect* Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetDefinitionSelect>(true); } void Ifc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDefinesByProperties::declaration() const { return *IFC4_IfcRelDefinesByProperties_type; } const IfcParse::entity& Ifc4::IfcRelDefinesByProperties::Class() { return *IFC4_IfcRelDefinesByProperties_type; } Ifc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDefinesByProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefinesByProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingPropertyDefinition));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } void Ifc4::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcPropertySetTemplate* Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetTemplate>(true); } void Ifc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDefinesByTemplate::declaration() const { return *IFC4_IfcRelDefinesByTemplate_type; } const IfcParse::entity& Ifc4::IfcRelDefinesByTemplate::Class() { return *IFC4_IfcRelDefinesByTemplate_type; } Ifc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDefinesByTemplate_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefinesByTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedPropertySets)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingTemplate));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcTypeObject* Ifc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcTypeObject>(true); } void Ifc4::IfcRelDefinesByType::setRelatingType(::Ifc4::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelDefinesByType::declaration() const { return *IFC4_IfcRelDefinesByType_type; } const IfcParse::entity& Ifc4::IfcRelDefinesByType::Class() { return *IFC4_IfcRelDefinesByType_type; } Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : IfcRelDefines((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelDefinesByType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement ::Ifc4::IfcOpeningElement* Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcOpeningElement>(true); } void Ifc4::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelFillsElement::declaration() const { return *IFC4_IfcRelFillsElement_type; } const IfcParse::entity& Ifc4::IfcRelFillsElement::Class() { return *IFC4_IfcRelFillsElement_type; } Ifc4::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelFillsElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelFillsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingOpeningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcDistributionControlElement >(); } void Ifc4::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcDistributionFlowElement* Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionFlowElement>(true); } void Ifc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelFlowControlElements::declaration() const { return *IFC4_IfcRelFlowControlElements_type; } const IfcParse::entity& Ifc4::IfcRelFlowControlElements::Class() { return *IFC4_IfcRelFlowControlElements_type; } Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelFlowControlElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements ::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatedElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelInterferesElements::declaration() const { return *IFC4_IfcRelInterferesElements_type; } const IfcParse::entity& Ifc4::IfcRelInterferesElements::Class() { return *IFC4_IfcRelInterferesElements_type; } Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelInterferesElements_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests ::Ifc4::IfcObjectDefinition* Ifc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelNests::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelNests::declaration() const { return *IFC4_IfcRelNests_type; } const IfcParse::entity& Ifc4::IfcRelNests::Class() { return *IFC4_IfcRelNests_type; } Ifc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelNests_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement ::Ifc4::IfcElement* Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelProjectsElement::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcFeatureElementAddition* Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementAddition>(true); } void Ifc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelProjectsElement::declaration() const { return *IFC4_IfcRelProjectsElement_type; } const IfcParse::entity& Ifc4::IfcRelProjectsElement::Class() { return *IFC4_IfcRelProjectsElement_type; } Ifc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelProjectsElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4::IfcSpatialElement* Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4::IfcRelReferencedInSpatialStructure::Class() { return *IFC4_IfcRelReferencedInSpatialStructure_type; } Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatingProcess(::Ifc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatedProcess(::Ifc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLagTime>(true); } void Ifc4::IfcRelSequence::setTimeLag(::Ifc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelSequence::declaration() const { return *IFC4_IfcRelSequence_type; } const IfcParse::entity& Ifc4::IfcRelSequence::Class() { return *IFC4_IfcRelSequence_type; } Ifc4::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelSequence_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings ::Ifc4::IfcSystem* Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSystem>(true); } void Ifc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcSpatialElement >::ptr Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcSpatialElement >(); } void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelServicesBuildings::declaration() const { return *IFC4_IfcRelServicesBuildings_type; } const IfcParse::entity& Ifc4::IfcRelServicesBuildings::Class() { return *IFC4_IfcRelServicesBuildings_type; } Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelServicesBuildings_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary ::Ifc4::IfcSpaceBoundarySelect* Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpaceBoundarySelect>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcElement* Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4::IfcInternalOrExternalEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4::IfcInternalOrExternalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcInternalOrExternalEnum::ToString(v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary::declaration() const { return *IFC4_IfcRelSpaceBoundary_type; } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary::Class() { return *IFC4_IfcRelSpaceBoundary_type; } Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelSpaceBoundary_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4::IfcRelSpaceBoundary1stLevel* Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::declaration() const { return *IFC4_IfcRelSpaceBoundary1stLevel_type; } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return *IFC4_IfcRelSpaceBoundary1stLevel_type; } Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData* e) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelSpaceBoundary1stLevel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4::IfcRelSpaceBoundary2ndLevel* Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::declaration() const { return *IFC4_IfcRelSpaceBoundary2ndLevel_type; } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::Class() { return *IFC4_IfcRelSpaceBoundary2ndLevel_type; } Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData* e) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelSpaceBoundary2ndLevel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement ::Ifc4::IfcElement* Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcFeatureElementSubtraction* Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementSubtraction>(true); } void Ifc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelVoidsElement::declaration() const { return *IFC4_IfcRelVoidsElement_type; } const IfcParse::entity& Ifc4::IfcRelVoidsElement::Class() { return *IFC4_IfcRelVoidsElement_type; } Ifc4::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData* e) : IfcRelDecomposes((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelVoidsElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelVoidsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedOpeningElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelationship const IfcParse::entity& Ifc4::IfcRelationship::declaration() const { return *IFC4_IfcRelationship_type; } const IfcParse::entity& Ifc4::IfcRelationship::Class() { return *IFC4_IfcRelationship_type; } Ifc4::IfcRelationship::IfcRelationship(IfcEntityInstanceData* e) : IfcRoot((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::declaration() const { return *IFC4_IfcReparametrisedCompositeCurveSegment_type; } const IfcParse::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::Class() { return *IFC4_IfcReparametrisedCompositeCurveSegment_type; } Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData* e) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcReparametrisedCompositeCurveSegment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation ::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationContext>(true); } void Ifc4::IfcRepresentation::setContextOfItems(::Ifc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr Ifc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcRepresentationItem >(); } void Ifc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } ::Ifc4::IfcRepresentationMap::list::ptr Ifc4::IfcRepresentation::RepresentationMap() const { return data_->getInverse(IFC4_IfcRepresentationMap_type, 1)->as(); } ::Ifc4::IfcPresentationLayerAssignment::list::ptr Ifc4::IfcRepresentation::LayerAssignments() const { return data_->getInverse(IFC4_IfcPresentationLayerAssignment_type, 2)->as(); } ::Ifc4::IfcProductRepresentation::list::ptr Ifc4::IfcRepresentation::OfProductRepresentation() const { return data_->getInverse(IFC4_IfcProductRepresentation_type, 2)->as(); } const IfcParse::entity& Ifc4::IfcRepresentation::declaration() const { return *IFC4_IfcRepresentation_type; } const IfcParse::entity& Ifc4::IfcRepresentation::Class() { return *IFC4_IfcRepresentation_type; } Ifc4::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcRepresentation::list::ptr Ifc4::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4_IfcRepresentation_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcRepresentationContext::declaration() const { return *IFC4_IfcRepresentationContext_type; } const IfcParse::entity& Ifc4::IfcRepresentationContext::Class() { return *IFC4_IfcRepresentationContext_type; } Ifc4::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRepresentationContext_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcRepresentationContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcRepresentationItem ::Ifc4::IfcPresentationLayerAssignment::list::ptr Ifc4::IfcRepresentationItem::LayerAssignment() const { return data_->getInverse(IFC4_IfcPresentationLayerAssignment_type, 2)->as(); } ::Ifc4::IfcStyledItem::list::ptr Ifc4::IfcRepresentationItem::StyledByItem() const { return data_->getInverse(IFC4_IfcStyledItem_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcRepresentationItem::declaration() const { return *IFC4_IfcRepresentationItem_type; } const IfcParse::entity& Ifc4::IfcRepresentationItem::Class() { return *IFC4_IfcRepresentationItem_type; } Ifc4::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRepresentationItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap ::Ifc4::IfcAxis2Placement* Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcRepresentationMap::setMappingOrigin(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcRepresentation* Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcRepresentation>(true); } void Ifc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcShapeAspect::list::ptr Ifc4::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4_IfcShapeAspect_type, 4)->as(); } ::Ifc4::IfcMappedItem::list::ptr Ifc4::IfcRepresentationMap::MapUsage() const { return data_->getInverse(IFC4_IfcMappedItem_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcRepresentationMap::declaration() const { return *IFC4_IfcRepresentationMap_type; } const IfcParse::entity& Ifc4::IfcRepresentationMap::Class() { return *IFC4_IfcRepresentationMap_type; } Ifc4::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRepresentationMap_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcRepresentationMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappingOrigin));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MappedRepresentation));data_->setArgument(1,attr);} } // Function implementations for IfcResource boost::optional< std::string > Ifc4::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcResource::ResourceOf() const { return data_->getInverse(IFC4_IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcResource::declaration() const { return *IFC4_IfcResource_type; } const IfcParse::entity& Ifc4::IfcResource::Class() { return *IFC4_IfcResource_type; } Ifc4::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::declaration() const { return *IFC4_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *IFC4_IfcResourceApprovalRelationship_type; } Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::declaration() const { return *IFC4_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *IFC4_IfcResourceConstraintRelationship_type; } Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcResourceLevelRelationship::declaration() const { return *IFC4_IfcResourceLevelRelationship_type; } const IfcParse::entity& Ifc4::IfcResourceLevelRelationship::Class() { return *IFC4_IfcResourceLevelRelationship_type; } Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcResourceLevelRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcResourceLevelRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } void Ifc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } void Ifc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } void Ifc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } void Ifc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4::IfcResourceTime::declaration() const { return *IFC4_IfcResourceTime_type; } const IfcParse::entity& Ifc4::IfcResourceTime::Class() { return *IFC4_IfcResourceTime_type; } Ifc4::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcSchedulingTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcResourceTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid ::Ifc4::IfcAxis1Placement* Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcRevolvedAreaSolid::setAxis(::Ifc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolid::declaration() const { return *IFC4_IfcRevolvedAreaSolid_type; } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolid::Class() { return *IFC4_IfcRevolvedAreaSolid_type; } Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRevolvedAreaSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4::IfcProfileDef* Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolidTapered::declaration() const { return *IFC4_IfcRevolvedAreaSolidTapered_type; } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolidTapered::Class() { return *IFC4_IfcRevolvedAreaSolidTapered_type; } Ifc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData* e) : IfcRevolvedAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRevolvedAreaSolidTapered_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRevolvedAreaSolidTapered_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndSweptArea));data_->setArgument(4,attr);} } // Function implementations for IfcRightCircularCone double Ifc4::IfcRightCircularCone::Height() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcRightCircularCone::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcRightCircularCone::BottomRadius() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcRightCircularCone::setBottomRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcRightCircularCone::declaration() const { return *IFC4_IfcRightCircularCone_type; } const IfcParse::entity& Ifc4::IfcRightCircularCone::Class() { return *IFC4_IfcRightCircularCone_type; } Ifc4::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRightCircularCone_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRightCircularCone_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Height));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_BottomRadius));data_->setArgument(2,attr);} } // Function implementations for IfcRightCircularCylinder double Ifc4::IfcRightCircularCylinder::Height() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcRightCircularCylinder::setHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcRightCircularCylinder::Radius() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcRightCircularCylinder::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcRightCircularCylinder::declaration() const { return *IFC4_IfcRightCircularCylinder_type; } const IfcParse::entity& Ifc4::IfcRightCircularCylinder::Class() { return *IFC4_IfcRightCircularCylinder_type; } Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRightCircularCylinder_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRightCircularCylinder_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Height));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Radius));data_->setArgument(2,attr);} } // Function implementations for IfcRoof boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > Ifc4::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRoof::declaration() const { return *IFC4_IfcRoof_type; } const IfcParse::entity& Ifc4::IfcRoof::Class() { return *IFC4_IfcRoof_type; } Ifc4::IfcRoof::IfcRoof(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRoof_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRoof_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcRoofTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRoofType ::Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofType::PredefinedType() const { return ::Ifc4::IfcRoofTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcRoofType::setPredefinedType(::Ifc4::IfcRoofTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRoofTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcRoofType::declaration() const { return *IFC4_IfcRoofType_type; } const IfcParse::entity& Ifc4::IfcRoofType::Class() { return *IFC4_IfcRoofType_type; } Ifc4::IfcRoofType::IfcRoofType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRoofType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRoofType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcRoofTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcRoot std::string Ifc4::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOwnerHistory>(true); } void Ifc4::IfcRoot::setOwnerHistory(::Ifc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcRoot::declaration() const { return *IFC4_IfcRoot_type; } const IfcParse::entity& Ifc4::IfcRoot::Class() { return *IFC4_IfcRoot_type; } Ifc4::IfcRoot::IfcRoot(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcRoot_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcRoot_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRoundedRectangleProfileDef::declaration() const { return *IFC4_IfcRoundedRectangleProfileDef_type; } const IfcParse::entity& Ifc4::IfcRoundedRectangleProfileDef::Class() { return *IFC4_IfcRoundedRectangleProfileDef_type; } Ifc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData* e) : IfcRectangleProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcRoundedRectangleProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRoundedRectangleProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_XDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_YDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RoundingRadius));data_->setArgument(5,attr);} } // Function implementations for IfcSIUnit boost::optional< ::Ifc4::IfcSIPrefix::Value > Ifc4::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcSIPrefix::FromString(*data_->getArgument(2)); } void Ifc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnit::Name() const { return ::Ifc4::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4::IfcSIUnit::setName(::Ifc4::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSIUnit::declaration() const { return *IFC4_IfcSIUnit_type; } const IfcParse::entity& Ifc4::IfcSIUnit::Class() { return *IFC4_IfcSIUnit_type; } Ifc4::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData* e) : IfcNamedUnit((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSIUnit_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSIUnit::IfcSIUnit(::Ifc4::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name) : IfcNamedUnit((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSIUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_Prefix) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_Prefix,::Ifc4::IfcSIPrefix::ToString(*v3_Prefix))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_Name,::Ifc4::IfcSIUnitName::ToString(v4_Name))));data_->setArgument(3,attr);} } // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSanitaryTerminal::declaration() const { return *IFC4_IfcSanitaryTerminal_type; } const IfcParse::entity& Ifc4::IfcSanitaryTerminal::Class() { return *IFC4_IfcSanitaryTerminal_type; } Ifc4::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSanitaryTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSanitaryTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSanitaryTerminalType ::Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSanitaryTerminalType::setPredefinedType(::Ifc4::IfcSanitaryTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSanitaryTerminalType::declaration() const { return *IFC4_IfcSanitaryTerminalType_type; } const IfcParse::entity& Ifc4::IfcSanitaryTerminalType::Class() { return *IFC4_IfcSanitaryTerminalType_type; } Ifc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSanitaryTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSanitaryTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4::IfcDataOriginEnum::Value > Ifc4::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSchedulingTime::declaration() const { return *IFC4_IfcSchedulingTime_type; } const IfcParse::entity& Ifc4::IfcSchedulingTime::Class() { return *IFC4_IfcSchedulingTime_type; } Ifc4::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcSchedulingTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcSchedulingTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcSeamCurve const IfcParse::entity& Ifc4::IfcSeamCurve::declaration() const { return *IFC4_IfcSeamCurve_type; } const IfcParse::entity& Ifc4::IfcSeamCurve::Class() { return *IFC4_IfcSeamCurve_type; } Ifc4::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData* e) : IfcSurfaceCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSeamCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSeamCurve::IfcSeamCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSeamCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSectionProperties ::Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionProperties::SectionType() const { return ::Ifc4::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcSectionProperties::setSectionType(::Ifc4::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } ::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setStartProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setEndProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSectionProperties::declaration() const { return *IFC4_IfcSectionProperties_type; } const IfcParse::entity& Ifc4::IfcSectionProperties::Class() { return *IFC4_IfcSectionProperties_type; } Ifc4::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData* e) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSectionProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSectionProperties::IfcSectionProperties(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef* v2_StartProfile, ::Ifc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSectionProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_SectionType,::Ifc4::IfcSectionTypeEnum::ToString(v1_SectionType))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartProfile));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EndProfile));data_->setArgument(2,attr);} } // Function implementations for IfcSectionReinforcementProperties double Ifc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = *data_->getArgument(0); return v; } void Ifc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSectionProperties>(true); } void Ifc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcReinforcementBarProperties >(); } void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcSectionReinforcementProperties::declaration() const { return *IFC4_IfcSectionReinforcementProperties_type; } const IfcParse::entity& Ifc4::IfcSectionReinforcementProperties::Class() { return *IFC4_IfcSectionReinforcementProperties_type; } Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData* e) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSectionReinforcementProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSpine ::Ifc4::IfcCompositeCurve* Ifc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCompositeCurve>(true); } void Ifc4::IfcSectionedSpine::setSpineCurve(::Ifc4::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr Ifc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcAxis2Placement3D >(); } void Ifc4::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSectionedSpine::declaration() const { return *IFC4_IfcSectionedSpine_type; } const IfcParse::entity& Ifc4::IfcSectionedSpine::Class() { return *IFC4_IfcSectionedSpine_type; } Ifc4::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSectionedSpine_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSectionedSpine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SpineCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSensor boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > Ifc4::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSensor::declaration() const { return *IFC4_IfcSensor_type; } const IfcParse::entity& Ifc4::IfcSensor::Class() { return *IFC4_IfcSensor_type; } Ifc4::IfcSensor::IfcSensor(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSensor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSensor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSensorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSensorType ::Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorType::PredefinedType() const { return ::Ifc4::IfcSensorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSensorType::setPredefinedType(::Ifc4::IfcSensorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSensorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSensorType::declaration() const { return *IFC4_IfcSensorType_type; } const IfcParse::entity& Ifc4::IfcSensorType::Class() { return *IFC4_IfcSensorType_type; } Ifc4::IfcSensorType::IfcSensorType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSensorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSensorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSensorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcShadingDevice boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > Ifc4::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcShadingDevice::declaration() const { return *IFC4_IfcShadingDevice_type; } const IfcParse::entity& Ifc4::IfcShadingDevice::Class() { return *IFC4_IfcShadingDevice_type; } Ifc4::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShadingDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShadingDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcShadingDeviceType ::Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcShadingDeviceType::setPredefinedType(::Ifc4::IfcShadingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcShadingDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcShadingDeviceType::declaration() const { return *IFC4_IfcShadingDeviceType_type; } const IfcParse::entity& Ifc4::IfcShadingDeviceType::Class() { return *IFC4_IfcShadingDeviceType_type; } Ifc4::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShadingDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShadingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcShapeAspect aggregate_of< ::Ifc4::IfcShapeModel >::ptr Ifc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcShapeModel >(); } void Ifc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProductRepresentationSelect>(true); } void Ifc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcShapeAspect::declaration() const { return *IFC4_IfcShapeAspect_type; } const IfcParse::entity& Ifc4::IfcShapeAspect::Class() { return *IFC4_IfcShapeAspect_type; } Ifc4::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcShapeAspect_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcShapeAspect_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ShapeRepresentations)->generalize());data_->setArgument(0,attr);} if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ProductDefinitional));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_PartOfProductDefinitionShape));data_->setArgument(4,attr);} } // Function implementations for IfcShapeModel ::Ifc4::IfcShapeAspect::list::ptr Ifc4::IfcShapeModel::OfShapeAspect() const { return data_->getInverse(IFC4_IfcShapeAspect_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcShapeModel::declaration() const { return *IFC4_IfcShapeModel_type; } const IfcParse::entity& Ifc4::IfcShapeModel::Class() { return *IFC4_IfcShapeModel_type; } Ifc4::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData* e) : IfcRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShapeModel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShapeModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShapeRepresentation const IfcParse::entity& Ifc4::IfcShapeRepresentation::declaration() const { return *IFC4_IfcShapeRepresentation_type; } const IfcParse::entity& Ifc4::IfcShapeRepresentation::Class() { return *IFC4_IfcShapeRepresentation_type; } Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) : IfcShapeModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShapeRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcShell >(); } void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::declaration() const { return *IFC4_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *IFC4_IfcShellBasedSurfaceModel_type; } Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSimpleProperty const IfcParse::entity& Ifc4::IfcSimpleProperty::declaration() const { return *IFC4_IfcSimpleProperty_type; } const IfcParse::entity& Ifc4::IfcSimpleProperty::Class() { return *IFC4_IfcSimpleProperty_type; } Ifc4::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData* e) : IfcProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSimpleProperty_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSimpleProperty_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcSimplePropertyTemplate::declaration() const { return *IFC4_IfcSimplePropertyTemplate_type; } const IfcParse::entity& Ifc4::IfcSimplePropertyTemplate::Class() { return *IFC4_IfcSimplePropertyTemplate_type; } Ifc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData* e) : IfcPropertyTemplate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSimplePropertyTemplate_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSimplePropertyTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PrimaryMeasureType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_PrimaryMeasureType));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_SecondaryMeasureType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_SecondaryMeasureType));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Enumerators));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PrimaryUnit));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SecondaryUnit));data_->setArgument(9,attr);} if (v11_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_Expression));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_AccessState) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_AccessState,::Ifc4::IfcStateEnum::ToString(*v12_AccessState))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } void Ifc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } void Ifc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcSite::setSiteAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcSite::declaration() const { return *IFC4_IfcSite_type; } const IfcParse::entity& Ifc4::IfcSite::Class() { return *IFC4_IfcSite_type; } Ifc4::IfcSite::IfcSite(IfcEntityInstanceData* e) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSite_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSite_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_RefLatitude) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_RefLatitude));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_RefLongitude) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_RefLongitude));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_RefElevation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_RefElevation));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LandTitleNumber) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LandTitleNumber));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_SiteAddress));data_->setArgument(13,attr);} } // Function implementations for IfcSlab boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > Ifc4::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSlab::declaration() const { return *IFC4_IfcSlab_type; } const IfcParse::entity& Ifc4::IfcSlab::Class() { return *IFC4_IfcSlab_type; } Ifc4::IfcSlab::IfcSlab(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSlab_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSlab_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSlabTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSlabElementedCase const IfcParse::entity& Ifc4::IfcSlabElementedCase::declaration() const { return *IFC4_IfcSlabElementedCase_type; } const IfcParse::entity& Ifc4::IfcSlabElementedCase::Class() { return *IFC4_IfcSlabElementedCase_type; } Ifc4::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData* e) : IfcSlab((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSlabElementedCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSlabElementedCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSlabTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSlabStandardCase const IfcParse::entity& Ifc4::IfcSlabStandardCase::declaration() const { return *IFC4_IfcSlabStandardCase_type; } const IfcParse::entity& Ifc4::IfcSlabStandardCase::Class() { return *IFC4_IfcSlabStandardCase_type; } Ifc4::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData* e) : IfcSlab((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSlabStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSlabStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSlabTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSlabType ::Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabType::PredefinedType() const { return ::Ifc4::IfcSlabTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSlabType::setPredefinedType(::Ifc4::IfcSlabTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSlabTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSlabType::declaration() const { return *IFC4_IfcSlabType_type; } const IfcParse::entity& Ifc4::IfcSlabType::Class() { return *IFC4_IfcSlabType_type; } Ifc4::IfcSlabType::IfcSlabType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSlabType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSlabType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSlabTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSlippageConnectionCondition::declaration() const { return *IFC4_IfcSlippageConnectionCondition_type; } const IfcParse::entity& Ifc4::IfcSlippageConnectionCondition::Class() { return *IFC4_IfcSlippageConnectionCondition_type; } Ifc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData* e) : IfcStructuralConnectionCondition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSlippageConnectionCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSlippageConnectionCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_SlippageX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_SlippageX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SlippageY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SlippageY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_SlippageZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_SlippageZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSolarDevice boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > Ifc4::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSolarDevice::declaration() const { return *IFC4_IfcSolarDevice_type; } const IfcParse::entity& Ifc4::IfcSolarDevice::Class() { return *IFC4_IfcSolarDevice_type; } Ifc4::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSolarDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSolarDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSolarDeviceType ::Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSolarDeviceType::setPredefinedType(::Ifc4::IfcSolarDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSolarDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSolarDeviceType::declaration() const { return *IFC4_IfcSolarDeviceType_type; } const IfcParse::entity& Ifc4::IfcSolarDeviceType::Class() { return *IFC4_IfcSolarDeviceType_type; } Ifc4::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSolarDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSolarDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSolidModel const IfcParse::entity& Ifc4::IfcSolidModel::declaration() const { return *IFC4_IfcSolidModel_type; } const IfcParse::entity& Ifc4::IfcSolidModel::Class() { return *IFC4_IfcSolidModel_type; } Ifc4::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSolidModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSolidModel_type); } // Function implementations for IfcSpace boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > Ifc4::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcSpace::declaration() const { return *IFC4_IfcSpace_type; } const IfcParse::entity& Ifc4::IfcSpace::Class() { return *IFC4_IfcSpace_type; } Ifc4::IfcSpace::IfcSpace(IfcEntityInstanceData* e) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpace_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpace_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4::IfcSpaceTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ElevationWithFlooring) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ElevationWithFlooring));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > Ifc4::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpaceHeater::declaration() const { return *IFC4_IfcSpaceHeater_type; } const IfcParse::entity& Ifc4::IfcSpaceHeater::Class() { return *IFC4_IfcSpaceHeater_type; } Ifc4::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpaceHeater_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpaceHeater_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSpaceHeaterType ::Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpaceHeaterType::setPredefinedType(::Ifc4::IfcSpaceHeaterTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSpaceHeaterType::declaration() const { return *IFC4_IfcSpaceHeaterType_type; } const IfcParse::entity& Ifc4::IfcSpaceHeaterType::Class() { return *IFC4_IfcSpaceHeaterType_type; } Ifc4::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpaceHeaterType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpaceHeaterType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSpaceType ::Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceType::PredefinedType() const { return ::Ifc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpaceType::setPredefinedType(::Ifc4::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSpaceType::declaration() const { return *IFC4_IfcSpaceType_type; } const IfcParse::entity& Ifc4::IfcSpaceType::Class() { return *IFC4_IfcSpaceType_type; } Ifc4::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData* e) : IfcSpatialStructureElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpaceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpaceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSpaceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4::IfcRelServicesBuildings::list::ptr Ifc4::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4_IfcRelServicesBuildings_type, 5)->as(); } ::Ifc4::IfcRelReferencedInSpatialStructure::list::ptr Ifc4::IfcSpatialElement::ReferencesElements() const { return data_->getInverse(IFC4_IfcRelReferencedInSpatialStructure_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcSpatialElement::declaration() const { return *IFC4_IfcSpatialElement_type; } const IfcParse::entity& Ifc4::IfcSpatialElement::Class() { return *IFC4_IfcSpatialElement_type; } Ifc4::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialElementType::declaration() const { return *IFC4_IfcSpatialElementType_type; } const IfcParse::entity& Ifc4::IfcSpatialElementType::Class() { return *IFC4_IfcSpatialElementType_type; } Ifc4::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > Ifc4::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialStructureElement::declaration() const { return *IFC4_IfcSpatialStructureElement_type; } const IfcParse::entity& Ifc4::IfcSpatialStructureElement::Class() { return *IFC4_IfcSpatialStructureElement_type; } Ifc4::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData* e) : IfcSpatialElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialStructureElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialStructureElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSpatialStructureElementType const IfcParse::entity& Ifc4::IfcSpatialStructureElementType::declaration() const { return *IFC4_IfcSpatialStructureElementType_type; } const IfcParse::entity& Ifc4::IfcSpatialStructureElementType::Class() { return *IFC4_IfcSpatialStructureElementType_type; } Ifc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData* e) : IfcSpatialElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialStructureElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialStructureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSpatialZone boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > Ifc4::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialZone::declaration() const { return *IFC4_IfcSpatialZone_type; } const IfcParse::entity& Ifc4::IfcSpatialZone::Class() { return *IFC4_IfcSpatialZone_type; } Ifc4::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData* e) : IfcSpatialElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialZone_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialZone_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSpatialZoneType ::Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpatialZoneType::setPredefinedType(::Ifc4::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSpatialZoneType::declaration() const { return *IFC4_IfcSpatialZoneType_type; } const IfcParse::entity& Ifc4::IfcSpatialZoneType::Class() { return *IFC4_IfcSpatialZoneType_type; } Ifc4::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData* e) : IfcSpatialElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSpatialZoneType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSpatialZoneType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LongName));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSphere double Ifc4::IfcSphere::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSphere::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSphere::declaration() const { return *IFC4_IfcSphere_type; } const IfcParse::entity& Ifc4::IfcSphere::Class() { return *IFC4_IfcSphere_type; } Ifc4::IfcSphere::IfcSphere(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSphere_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSphere::IfcSphere(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSphere_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcSphericalSurface double Ifc4::IfcSphericalSurface::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSphericalSurface::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSphericalSurface::declaration() const { return *IFC4_IfcSphericalSurface_type; } const IfcParse::entity& Ifc4::IfcSphericalSurface::Class() { return *IFC4_IfcSphericalSurface_type; } Ifc4::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData* e) : IfcElementarySurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSphericalSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSphericalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcStackTerminal boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > Ifc4::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStackTerminal::declaration() const { return *IFC4_IfcStackTerminal_type; } const IfcParse::entity& Ifc4::IfcStackTerminal::Class() { return *IFC4_IfcStackTerminal_type; } Ifc4::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStackTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStackTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStackTerminalType ::Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcStackTerminalType::setPredefinedType(::Ifc4::IfcStackTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStackTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStackTerminalType::declaration() const { return *IFC4_IfcStackTerminalType_type; } const IfcParse::entity& Ifc4::IfcStackTerminalType::Class() { return *IFC4_IfcStackTerminalType_type; } Ifc4::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStackTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStackTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcStackTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStair boost::optional< ::Ifc4::IfcStairTypeEnum::Value > Ifc4::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStair::declaration() const { return *IFC4_IfcStair_type; } const IfcParse::entity& Ifc4::IfcStair::Class() { return *IFC4_IfcStair_type; } Ifc4::IfcStair::IfcStair(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStair_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStair_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcStairTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStairFlight boost::optional< int > Ifc4::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } void Ifc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } void Ifc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > Ifc4::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcStairFlight::declaration() const { return *IFC4_IfcStairFlight_type; } const IfcParse::entity& Ifc4::IfcStairFlight::Class() { return *IFC4_IfcStairFlight_type; } Ifc4::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStairFlight_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStairFlight_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_NumberOfRisers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_NumberOfRisers));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_NumberOfTreads) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_NumberOfTreads));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_RiserHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_RiserHeight));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_TreadLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_TreadLength));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4::IfcStairFlightTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcStairFlightType ::Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcStairFlightType::setPredefinedType(::Ifc4::IfcStairFlightTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStairFlightTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStairFlightType::declaration() const { return *IFC4_IfcStairFlightType_type; } const IfcParse::entity& Ifc4::IfcStairFlightType::Class() { return *IFC4_IfcStairFlightType_type; } Ifc4::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStairFlightType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStairFlightType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcStairFlightTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStairType ::Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairType::PredefinedType() const { return ::Ifc4::IfcStairTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcStairType::setPredefinedType(::Ifc4::IfcStairTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStairTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStairType::declaration() const { return *IFC4_IfcStairType_type; } const IfcParse::entity& Ifc4::IfcStairType::Class() { return *IFC4_IfcStairType_type; } Ifc4::IfcStairType::IfcStairType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStairType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStairType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcStairTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } void Ifc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStructuralAction::declaration() const { return *IFC4_IfcStructuralAction_type; } const IfcParse::entity& Ifc4::IfcStructuralAction::Class() { return *IFC4_IfcStructuralAction_type; } Ifc4::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : IfcStructuralActivity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity ::Ifc4::IfcStructuralLoad* Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralLoad>(true); } void Ifc4::IfcStructuralActivity::setAppliedLoad(::Ifc4::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } ::Ifc4::IfcRelConnectsStructuralActivity::list::ptr Ifc4::IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(IFC4_IfcRelConnectsStructuralActivity_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcStructuralActivity::declaration() const { return *IFC4_IfcStructuralActivity_type; } const IfcParse::entity& Ifc4::IfcStructuralActivity::Class() { return *IFC4_IfcStructuralActivity_type; } Ifc4::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralActivity_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralAnalysisModel ::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcStructuralLoadGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcStructuralResultGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStructuralAnalysisModel::declaration() const { return *IFC4_IfcStructuralAnalysisModel_type; } const IfcParse::entity& Ifc4::IfcStructuralAnalysisModel::Class() { return *IFC4_IfcStructuralAnalysisModel_type; } Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData* e) : IfcSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralAnalysisModel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection ::Ifc4::IfcBoundaryCondition* Ifc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcStructuralConnection::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcRelConnectsStructuralMember::list::ptr Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4_IfcRelConnectsStructuralMember_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcStructuralConnection::declaration() const { return *IFC4_IfcStructuralConnection_type; } const IfcParse::entity& Ifc4::IfcStructuralConnection::Class() { return *IFC4_IfcStructuralConnection_type; } Ifc4::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData* e) : IfcStructuralItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralConnection_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedCondition));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcStructuralConnectionCondition::declaration() const { return *IFC4_IfcStructuralConnectionCondition_type; } const IfcParse::entity& Ifc4::IfcStructuralConnectionCondition::Class() { return *IFC4_IfcStructuralConnectionCondition_type; } Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcStructuralConnectionCondition_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralConnectionCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcStructuralCurveAction::declaration() const { return *IFC4_IfcStructuralCurveAction_type; } const IfcParse::entity& Ifc4::IfcStructuralCurveAction::Class() { return *IFC4_IfcStructuralCurveAction_type; } Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData* e) : IfcStructuralAction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralCurveAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection ::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveConnection::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStructuralCurveConnection::declaration() const { return *IFC4_IfcStructuralCurveConnection_type; } const IfcParse::entity& Ifc4::IfcStructuralCurveConnection::Class() { return *IFC4_IfcStructuralCurveConnection_type; } Ifc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData* e) : IfcStructuralConnection((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralCurveConnection_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedCondition));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Axis));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralCurveMember ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralCurveMember::setPredefinedType(::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveMember::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStructuralCurveMember::declaration() const { return *IFC4_IfcStructuralCurveMember_type; } const IfcParse::entity& Ifc4::IfcStructuralCurveMember::Class() { return *IFC4_IfcStructuralCurveMember_type; } Ifc4::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData* e) : IfcStructuralMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralCurveMember_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4::IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Axis));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralCurveMemberVarying const IfcParse::entity& Ifc4::IfcStructuralCurveMemberVarying::declaration() const { return *IFC4_IfcStructuralCurveMemberVarying_type; } const IfcParse::entity& Ifc4::IfcStructuralCurveMemberVarying::Class() { return *IFC4_IfcStructuralCurveMemberVarying_type; } Ifc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData* e) : IfcStructuralCurveMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralCurveMemberVarying_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveMemberVarying_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4::IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Axis));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralCurveReaction ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcStructuralCurveReaction::setPredefinedType(::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStructuralCurveReaction::declaration() const { return *IFC4_IfcStructuralCurveReaction_type; } const IfcParse::entity& Ifc4::IfcStructuralCurveReaction::Class() { return *IFC4_IfcStructuralCurveReaction_type; } Ifc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData* e) : IfcStructuralReaction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralCurveReaction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveReaction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralItem ::Ifc4::IfcRelConnectsStructuralActivity::list::ptr Ifc4::IfcStructuralItem::AssignedStructuralActivity() const { return data_->getInverse(IFC4_IfcRelConnectsStructuralActivity_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcStructuralItem::declaration() const { return *IFC4_IfcStructuralItem_type; } const IfcParse::entity& Ifc4::IfcStructuralItem::Class() { return *IFC4_IfcStructuralItem_type; } Ifc4::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData* e) : IfcProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralItem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcStructuralLinearAction const IfcParse::entity& Ifc4::IfcStructuralLinearAction::declaration() const { return *IFC4_IfcStructuralLinearAction_type; } const IfcParse::entity& Ifc4::IfcStructuralLinearAction::Class() { return *IFC4_IfcStructuralLinearAction_type; } Ifc4::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData* e) : IfcStructuralCurveAction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLinearAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLinearAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoad::declaration() const { return *IFC4_IfcStructuralLoad_type; } const IfcParse::entity& Ifc4::IfcStructuralLoad::Class() { return *IFC4_IfcStructuralLoad_type; } Ifc4::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcStructuralLoad_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoad_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } void Ifc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadCase::declaration() const { return *IFC4_IfcStructuralLoadCase_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadCase::Class() { return *IFC4_IfcStructuralLoadCase_type; } Ifc4::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData* e) : IfcStructuralLoadGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4::IfcLoadGroupTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_ActionType,::Ifc4::IfcActionTypeEnum::ToString(v7_ActionType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ActionSource,::Ifc4::IfcActionSourceTypeEnum::ToString(v8_ActionSource))));data_->setArgument(7,attr);} if (v9_Coefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Coefficient));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Purpose));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_SelfWeightCoefficients) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_SelfWeightCoefficients));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcStructuralLoadConfiguration aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr Ifc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcStructuralLoadOrResult >(); } void Ifc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadConfiguration::declaration() const { return *IFC4_IfcStructuralLoadConfiguration_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadConfiguration::Class() { return *IFC4_IfcStructuralLoadConfiguration_type; } Ifc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData* e) : IfcStructuralLoad((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadConfiguration_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadConfiguration_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Values)->generalize());data_->setArgument(1,attr);} if (v3_Locations) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Locations));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStructuralLoadGroup ::Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4::IfcLoadGroupTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcStructuralLoadGroup::setPredefinedType(::Ifc4::IfcLoadGroupTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLoadGroupTypeEnum::ToString(v)));data_->setArgument(5,attr);} } ::Ifc4::IfcActionTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4::IfcActionTypeEnum::FromString(*data_->getArgument(6)); } void Ifc4::IfcStructuralLoadGroup::setActionType(::Ifc4::IfcActionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcActionTypeEnum::ToString(v)));data_->setArgument(6,attr);} } ::Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralLoadGroup::setActionSource(::Ifc4::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4::IfcStructuralResultGroup::list::ptr Ifc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4::IfcStructuralAnalysisModel::list::ptr Ifc4::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4_IfcStructuralAnalysisModel_type, 7)->as(); } const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::declaration() const { return *IFC4_IfcStructuralLoadGroup_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::Class() { return *IFC4_IfcStructuralLoadGroup_type; } Ifc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadGroup_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4::IfcLoadGroupTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_ActionType,::Ifc4::IfcActionTypeEnum::ToString(v7_ActionType))));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_ActionSource,::Ifc4::IfcActionSourceTypeEnum::ToString(v8_ActionSource))));data_->setArgument(7,attr);} if (v9_Coefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Coefficient));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Purpose));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadLinearForce::declaration() const { return *IFC4_IfcStructuralLoadLinearForce_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadLinearForce::Class() { return *IFC4_IfcStructuralLoadLinearForce_type; } Ifc4::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData* e) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadLinearForce_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadLinearForce_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_LinearForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LinearForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_LinearForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_LinearForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_LinearForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_LinearForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LinearMomentX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LinearMomentX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LinearMomentY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LinearMomentY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LinearMomentZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LinearMomentZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcStructuralLoadOrResult const IfcParse::entity& Ifc4::IfcStructuralLoadOrResult::declaration() const { return *IFC4_IfcStructuralLoadOrResult_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadOrResult::Class() { return *IFC4_IfcStructuralLoadOrResult_type; } Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData* e) : IfcStructuralLoad((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadOrResult_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadOrResult_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4_IfcStructuralLoadPlanarForce_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadPlanarForce::Class() { return *IFC4_IfcStructuralLoadPlanarForce_type; } Ifc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData* e) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadPlanarForce_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadPlanarForce_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_PlanarForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_PlanarForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_PlanarForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_PlanarForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_PlanarForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_PlanarForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4_IfcStructuralLoadSingleDisplacement_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacement::Class() { return *IFC4_IfcStructuralLoadSingleDisplacement_type; } Ifc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData* e) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadSingleDisplacement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadSingleDisplacement_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DisplacementX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DisplacementX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DisplacementY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DisplacementY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DisplacementZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DisplacementZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_RotationalDisplacementRX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RotationalDisplacementRX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_RotationalDisplacementRY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RotationalDisplacementRY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RotationalDisplacementRZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RotationalDisplacementRZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4_IfcStructuralLoadSingleDisplacementDistortion_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *IFC4_IfcStructuralLoadSingleDisplacementDistortion_type; } Ifc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData* e) : IfcStructuralLoadSingleDisplacement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadSingleDisplacementDistortion_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadSingleDisplacementDistortion_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DisplacementX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DisplacementX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DisplacementY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DisplacementY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DisplacementZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DisplacementZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_RotationalDisplacementRX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_RotationalDisplacementRX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_RotationalDisplacementRY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_RotationalDisplacementRY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RotationalDisplacementRZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RotationalDisplacementRZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Distortion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Distortion));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForce::declaration() const { return *IFC4_IfcStructuralLoadSingleForce_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForce::Class() { return *IFC4_IfcStructuralLoadSingleForce_type; } Ifc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData* e) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadSingleForce_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadSingleForce_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MomentX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MomentX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_MomentY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_MomentY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_MomentZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_MomentZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4_IfcStructuralLoadSingleForceWarping_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForceWarping::Class() { return *IFC4_IfcStructuralLoadSingleForceWarping_type; } Ifc4::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData* e) : IfcStructuralLoadSingleForce((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadSingleForceWarping_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadSingleForceWarping_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ForceX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ForceX));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ForceY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ForceY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ForceZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ForceZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_MomentX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_MomentX));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_MomentY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_MomentY));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_MomentZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_MomentZ));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_WarpingMoment) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_WarpingMoment));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcStructuralLoadStatic const IfcParse::entity& Ifc4::IfcStructuralLoadStatic::declaration() const { return *IFC4_IfcStructuralLoadStatic_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadStatic::Class() { return *IFC4_IfcStructuralLoadStatic_type; } Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData* e) : IfcStructuralLoadOrResult((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadStatic_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadStatic_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } } // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::declaration() const { return *IFC4_IfcStructuralLoadTemperature_type; } const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::Class() { return *IFC4_IfcStructuralLoadTemperature_type; } Ifc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData* e) : IfcStructuralLoadStatic((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralLoadTemperature_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralLoadTemperature_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DeltaTConstant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DeltaTConstant));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DeltaTY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DeltaTY));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DeltaTZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DeltaTZ));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcStructuralMember ::Ifc4::IfcRelConnectsStructuralMember::list::ptr Ifc4::IfcStructuralMember::ConnectedBy() const { return data_->getInverse(IFC4_IfcRelConnectsStructuralMember_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcStructuralMember::declaration() const { return *IFC4_IfcStructuralMember_type; } const IfcParse::entity& Ifc4::IfcStructuralMember::Class() { return *IFC4_IfcStructuralMember_type; } Ifc4::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData* e) : IfcStructuralItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralMember_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcStructuralPlanarAction const IfcParse::entity& Ifc4::IfcStructuralPlanarAction::declaration() const { return *IFC4_IfcStructuralPlanarAction_type; } const IfcParse::entity& Ifc4::IfcStructuralPlanarAction::Class() { return *IFC4_IfcStructuralPlanarAction_type; } Ifc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData* e) : IfcStructuralSurfaceAction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralPlanarAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralPlanarAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralPointAction const IfcParse::entity& Ifc4::IfcStructuralPointAction::declaration() const { return *IFC4_IfcStructuralPointAction_type; } const IfcParse::entity& Ifc4::IfcStructuralPointAction::Class() { return *IFC4_IfcStructuralPointAction_type; } Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData* e) : IfcStructuralAction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralPointAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStructuralPointConnection::declaration() const { return *IFC4_IfcStructuralPointConnection_type; } const IfcParse::entity& Ifc4::IfcStructuralPointConnection::Class() { return *IFC4_IfcStructuralPointConnection_type; } Ifc4::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData* e) : IfcStructuralConnection((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralPointConnection_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralPointConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedCondition));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ConditionCoordinateSystem));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralPointReaction const IfcParse::entity& Ifc4::IfcStructuralPointReaction::declaration() const { return *IFC4_IfcStructuralPointReaction_type; } const IfcParse::entity& Ifc4::IfcStructuralPointReaction::Class() { return *IFC4_IfcStructuralPointReaction_type; } Ifc4::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData* e) : IfcStructuralReaction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralPointReaction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralPointReaction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralReaction const IfcParse::entity& Ifc4::IfcStructuralReaction::declaration() const { return *IFC4_IfcStructuralReaction_type; } const IfcParse::entity& Ifc4::IfcStructuralReaction::Class() { return *IFC4_IfcStructuralReaction_type; } Ifc4::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData* e) : IfcStructuralActivity((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralReaction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralReaction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} } // Function implementations for IfcStructuralResultGroup ::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcStructuralResultGroup::setTheoryType(::Ifc4::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } ::Ifc4::IfcStructuralLoadGroup* Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcStructuralLoadGroup>(true); } void Ifc4::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcStructuralAnalysisModel::list::ptr Ifc4::IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(IFC4_IfcStructuralAnalysisModel_type, 8)->as(); } const IfcParse::entity& Ifc4::IfcStructuralResultGroup::declaration() const { return *IFC4_IfcStructuralResultGroup_type; } const IfcParse::entity& Ifc4::IfcStructuralResultGroup::Class() { return *IFC4_IfcStructuralResultGroup_type; } Ifc4::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralResultGroup_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralResultGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_TheoryType,::Ifc4::IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ResultForLoadGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_IsLinear));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcStructuralSurfaceAction::declaration() const { return *IFC4_IfcStructuralSurfaceAction_type; } const IfcParse::entity& Ifc4::IfcStructuralSurfaceAction::Class() { return *IFC4_IfcStructuralSurfaceAction_type; } Ifc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData* e) : IfcStructuralAction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralSurfaceAction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralSurfaceConnection const IfcParse::entity& Ifc4::IfcStructuralSurfaceConnection::declaration() const { return *IFC4_IfcStructuralSurfaceConnection_type; } const IfcParse::entity& Ifc4::IfcStructuralSurfaceConnection::Class() { return *IFC4_IfcStructuralSurfaceConnection_type; } Ifc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData* e) : IfcStructuralConnection((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralSurfaceConnection_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceConnection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedCondition));data_->setArgument(7,attr);} } // Function implementations for IfcStructuralSurfaceMember ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMember::declaration() const { return *IFC4_IfcStructuralSurfaceMember_type; } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMember::Class() { return *IFC4_IfcStructuralSurfaceMember_type; } Ifc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData* e) : IfcStructuralMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralSurfaceMember_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);} if (v9_Thickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Thickness));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStructuralSurfaceMemberVarying const IfcParse::entity& Ifc4::IfcStructuralSurfaceMemberVarying::declaration() const { return *IFC4_IfcStructuralSurfaceMemberVarying_type; } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMemberVarying::Class() { return *IFC4_IfcStructuralSurfaceMemberVarying_type; } Ifc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData* e) : IfcStructuralSurfaceMember((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralSurfaceMemberVarying_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceMemberVarying_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PredefinedType,::Ifc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType))));data_->setArgument(7,attr);} if (v9_Thickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Thickness));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStructuralSurfaceReaction::declaration() const { return *IFC4_IfcStructuralSurfaceReaction_type; } const IfcParse::entity& Ifc4::IfcStructuralSurfaceReaction::Class() { return *IFC4_IfcStructuralSurfaceReaction_type; } Ifc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData* e) : IfcStructuralReaction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStructuralSurfaceReaction_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralSurfaceReaction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcStyleModel const IfcParse::entity& Ifc4::IfcStyleModel::declaration() const { return *IFC4_IfcStyleModel_type; } const IfcParse::entity& Ifc4::IfcStyleModel::Class() { return *IFC4_IfcStyleModel_type; } Ifc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStyleModel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem ::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationItem>(true); } void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcStyleAssignmentSelect >(); } void Ifc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcStyledItem::declaration() const { return *IFC4_IfcStyledItem_type; } const IfcParse::entity& Ifc4::IfcStyledItem::Class() { return *IFC4_IfcStyledItem_type; } Ifc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStyledItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcStyledRepresentation const IfcParse::entity& Ifc4::IfcStyledRepresentation::declaration() const { return *IFC4_IfcStyledRepresentation_type; } const IfcParse::entity& Ifc4::IfcStyledRepresentation::Class() { return *IFC4_IfcStyledRepresentation_type; } Ifc4::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData* e) : IfcStyleModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcStyledRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyledRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcSubContractResource boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > Ifc4::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSubContractResource::declaration() const { return *IFC4_IfcSubContractResource_type; } const IfcParse::entity& Ifc4::IfcSubContractResource::Class() { return *IFC4_IfcSubContractResource_type; } Ifc4::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData* e) : IfcConstructionResource((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSubContractResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSubContractResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Usage));data_->setArgument(7,attr);} if (v9_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_BaseCosts)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_BaseQuantity));data_->setArgument(9,attr);} if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSubContractResourceType ::Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcSubContractResourceType::setPredefinedType(::Ifc4::IfcSubContractResourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSubContractResourceTypeEnum::ToString(v)));data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcSubContractResourceType::declaration() const { return *IFC4_IfcSubContractResourceType_type; } const IfcParse::entity& Ifc4::IfcSubContractResourceType::Class() { return *IFC4_IfcSubContractResourceType_type; } Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData* e) : IfcConstructionResourceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSubContractResourceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge ::Ifc4::IfcEdge* Ifc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcSubedge::setParentEdge(::Ifc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSubedge::declaration() const { return *IFC4_IfcSubedge_type; } const IfcParse::entity& Ifc4::IfcSubedge::Class() { return *IFC4_IfcSubedge_type; } Ifc4::IfcSubedge::IfcSubedge(IfcEntityInstanceData* e) : IfcEdge((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSubedge_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSubedge::IfcSubedge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcEdge* v3_ParentEdge) : IfcEdge((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSubedge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentEdge));data_->setArgument(2,attr);} } // Function implementations for IfcSurface const IfcParse::entity& Ifc4::IfcSurface::declaration() const { return *IFC4_IfcSurface_type; } const IfcParse::entity& Ifc4::IfcSurface::Class() { return *IFC4_IfcSurface_type; } Ifc4::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurface_type); } // Function implementations for IfcSurfaceCurve ::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurve::setCurve3D(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcPcurve >::ptr Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcPcurve >(); } void Ifc4::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::FromString(*data_->getArgument(2)); } void Ifc4::IfcSurfaceCurve::setMasterRepresentation(::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(v)));data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceCurve::declaration() const { return *IFC4_IfcSurfaceCurve_type; } const IfcParse::entity& Ifc4::IfcSurfaceCurve::Class() { return *IFC4_IfcSurfaceCurve_type; } Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *IFC4_IfcSurfaceCurveSweptAreaSolid_type; } const IfcParse::entity& Ifc4::IfcSurfaceCurveSweptAreaSolid::Class() { return *IFC4_IfcSurfaceCurveSweptAreaSolid_type; } Ifc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData* e) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceCurveSweptAreaSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceCurveSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);} if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReferenceSurface));data_->setArgument(5,attr);} } // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceFeature::declaration() const { return *IFC4_IfcSurfaceFeature_type; } const IfcParse::entity& Ifc4::IfcSurfaceFeature::Class() { return *IFC4_IfcSurfaceFeature_type; } Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : IfcFeatureElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceFeature_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4::IfcDirection* Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceOfLinearExtrusion::declaration() const { return *IFC4_IfcSurfaceOfLinearExtrusion_type; } const IfcParse::entity& Ifc4::IfcSurfaceOfLinearExtrusion::Class() { return *IFC4_IfcSurfaceOfLinearExtrusion_type; } Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData* e) : IfcSweptSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceOfLinearExtrusion_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution ::Ifc4::IfcAxis1Placement* Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceOfRevolution::declaration() const { return *IFC4_IfcSurfaceOfRevolution_type; } const IfcParse::entity& Ifc4::IfcSurfaceOfRevolution::Class() { return *IFC4_IfcSurfaceOfRevolution_type; } Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData* e) : IfcSweptSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceOfRevolution_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceOfRevolution_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AxisPosition));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceReinforcementArea::declaration() const { return *IFC4_IfcSurfaceReinforcementArea_type; } const IfcParse::entity& Ifc4::IfcSurfaceReinforcementArea::Class() { return *IFC4_IfcSurfaceReinforcementArea_type; } Ifc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData* e) : IfcStructuralLoadOrResult((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceReinforcementArea_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceReinforcementArea_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_SurfaceReinforcement1) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_SurfaceReinforcement1));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_SurfaceReinforcement2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_SurfaceReinforcement2));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ShearReinforcement) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ShearReinforcement));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcSurfaceStyle ::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4::IfcSurfaceStyle::setSide(::Ifc4::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcSurfaceStyleElementSelect >(); } void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyle::declaration() const { return *IFC4_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyle::Class() { return *IFC4_IfcSurfaceStyle_type; } Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleLighting::declaration() const { return *IFC4_IfcSurfaceStyleLighting_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyleLighting::Class() { return *IFC4_IfcSurfaceStyleLighting_type; } Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyleLighting_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb* v3_TransmissionColour, ::Ifc4::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleLighting_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DiffuseTransmissionColour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_DiffuseReflectionColour));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TransmissionColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ReflectanceColour));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } void Ifc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleRefraction::declaration() const { return *IFC4_IfcSurfaceStyleRefraction_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyleRefraction::Class() { return *IFC4_IfcSurfaceStyleRefraction_type; } Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyleRefraction_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering ::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcSpecularHighlightSelect* Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcSpecularHighlightSelect>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleRendering::declaration() const { return *IFC4_IfcSurfaceStyleRendering_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyleRendering::Class() { return *IFC4_IfcSurfaceStyleRendering_type; } Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData* e) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyleRendering_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleShading::declaration() const { return *IFC4_IfcSurfaceStyleShading_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyleShading::Class() { return *IFC4_IfcSurfaceStyleShading_type; } Ifc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyleShading_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleShading_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleWithTextures aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } void Ifc4::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleWithTextures::declaration() const { return *IFC4_IfcSurfaceStyleWithTextures_type; } const IfcParse::entity& Ifc4::IfcSurfaceStyleWithTextures::Class() { return *IFC4_IfcSurfaceStyleWithTextures_type; } Ifc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceStyleWithTextures_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleWithTextures_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Textures)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSurfaceTexture bool Ifc4::IfcSurfaceTexture::RepeatS() const { bool v = *data_->getArgument(0); return v; } void Ifc4::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcSurfaceTexture::setTextureTransform(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcTextureCoordinate::list::ptr Ifc4::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4::IfcSurfaceStyleWithTextures::list::ptr Ifc4::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4_IfcSurfaceStyleWithTextures_type, 0)->as(); } const IfcParse::entity& Ifc4::IfcSurfaceTexture::declaration() const { return *IFC4_IfcSurfaceTexture_type; } const IfcParse::entity& Ifc4::IfcSurfaceTexture::Class() { return *IFC4_IfcSurfaceTexture_type; } Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSurfaceTexture_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid ::Ifc4::IfcProfileDef* Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptAreaSolid::setSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptAreaSolid::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSweptAreaSolid::declaration() const { return *IFC4_IfcSweptAreaSolid_type; } const IfcParse::entity& Ifc4::IfcSweptAreaSolid::Class() { return *IFC4_IfcSweptAreaSolid_type; } Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSweptAreaSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid ::Ifc4::IfcCurve* Ifc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSweptDiskSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolid::declaration() const { return *IFC4_IfcSweptDiskSolid_type; } const IfcParse::entity& Ifc4::IfcSweptDiskSolid::Class() { return *IFC4_IfcSweptDiskSolid_type; } Ifc4::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSweptDiskSolid_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptDiskSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4_IfcSweptDiskSolidPolygonal_type; } const IfcParse::entity& Ifc4::IfcSweptDiskSolidPolygonal::Class() { return *IFC4_IfcSweptDiskSolidPolygonal_type; } Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData* e) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSweptDiskSolidPolygonal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface ::Ifc4::IfcProfileDef* Ifc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptSurface::setSweptCurve(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptSurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSweptSurface::declaration() const { return *IFC4_IfcSweptSurface_type; } const IfcParse::entity& Ifc4::IfcSweptSurface::Class() { return *IFC4_IfcSweptSurface_type; } Ifc4::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData* e) : IfcSurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSweptSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcSweptSurface::IfcSweptSurface(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSwitchingDevice::declaration() const { return *IFC4_IfcSwitchingDevice_type; } const IfcParse::entity& Ifc4::IfcSwitchingDevice::Class() { return *IFC4_IfcSwitchingDevice_type; } Ifc4::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSwitchingDevice_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSwitchingDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSwitchingDeviceType ::Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSwitchingDeviceType::setPredefinedType(::Ifc4::IfcSwitchingDeviceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSwitchingDeviceType::declaration() const { return *IFC4_IfcSwitchingDeviceType_type; } const IfcParse::entity& Ifc4::IfcSwitchingDeviceType::Class() { return *IFC4_IfcSwitchingDeviceType_type; } Ifc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSwitchingDeviceType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSwitchingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSystem ::Ifc4::IfcRelServicesBuildings::list::ptr Ifc4::IfcSystem::ServicesBuildings() const { return data_->getInverse(IFC4_IfcRelServicesBuildings_type, 4)->as(); } const IfcParse::entity& Ifc4::IfcSystem::declaration() const { return *IFC4_IfcSystem_type; } const IfcParse::entity& Ifc4::IfcSystem::Class() { return *IFC4_IfcSystem_type; } Ifc4::IfcSystem::IfcSystem(IfcEntityInstanceData* e) : IfcGroup((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSystem_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSystem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElement::declaration() const { return *IFC4_IfcSystemFurnitureElement_type; } const IfcParse::entity& Ifc4::IfcSystemFurnitureElement::Class() { return *IFC4_IfcSystemFurnitureElement_type; } Ifc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData* e) : IfcFurnishingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSystemFurnitureElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSystemFurnitureElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElementType::declaration() const { return *IFC4_IfcSystemFurnitureElementType_type; } const IfcParse::entity& Ifc4::IfcSystemFurnitureElementType::Class() { return *IFC4_IfcSystemFurnitureElementType_type; } Ifc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData* e) : IfcFurnishingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcSystemFurnitureElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSystemFurnitureElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcTShapeProfileDef double Ifc4::IfcTShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcTShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcTShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcTShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcTShapeProfileDef::declaration() const { return *IFC4_IfcTShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcTShapeProfileDef::Class() { return *IFC4_IfcTShapeProfileDef_type; } Ifc4::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_FlangeEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FlangeEdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_WebEdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_WebEdgeRadius));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_WebSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_WebSlope));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FlangeSlope));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcTable boost::optional< std::string > Ifc4::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > Ifc4::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTableRow >(); } void Ifc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > Ifc4::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcTableColumn >(); } void Ifc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTable::declaration() const { return *IFC4_IfcTable_type; } const IfcParse::entity& Ifc4::IfcTable::Class() { return *IFC4_IfcTable_type; } Ifc4::IfcTable::IfcTable(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTable_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcTable_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Rows) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Rows)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Columns) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Columns)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTableColumn::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcTableColumn::setReferencePath(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTableColumn::declaration() const { return *IFC4_IfcTableColumn_type; } const IfcParse::entity& Ifc4::IfcTableColumn::Class() { return *IFC4_IfcTableColumn_type; } Ifc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTableColumn_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcTableRow::declaration() const { return *IFC4_IfcTableRow_type; } const IfcParse::entity& Ifc4::IfcTableRow::Class() { return *IFC4_IfcTableRow_type; } Ifc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTank::declaration() const { return *IFC4_IfcTank_type; } const IfcParse::entity& Ifc4::IfcTank::Class() { return *IFC4_IfcTank_type; } Ifc4::IfcTank::IfcTank(IfcEntityInstanceData* e) : IfcFlowStorageDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTank_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTank_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcTankTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTankType ::Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankType::PredefinedType() const { return ::Ifc4::IfcTankTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTankType::setPredefinedType(::Ifc4::IfcTankTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTankTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTankType::declaration() const { return *IFC4_IfcTankType_type; } const IfcParse::entity& Ifc4::IfcTankType::Class() { return *IFC4_IfcTankType_type; } Ifc4::IfcTankType::IfcTankType(IfcEntityInstanceData* e) : IfcFlowStorageDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTankType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTankType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTankTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTask boost::optional< std::string > Ifc4::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcTaskTime>(true); } void Ifc4::IfcTask::setTaskTime(::Ifc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcTask::declaration() const { return *IFC4_IfcTask_type; } const IfcParse::entity& Ifc4::IfcTask::Class() { return *IFC4_IfcTask_type; } Ifc4::IfcTask::IfcTask(IfcEntityInstanceData* e) : IfcProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTask_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTask_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_WorkMethod));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_IsMilestone));data_->setArgument(9,attr);} if (v11_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_Priority));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_TaskTime));data_->setArgument(11,attr);} if (v13_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v13_PredefinedType,::Ifc4::IfcTaskTypeEnum::ToString(*v13_PredefinedType))));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTaskTime boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > Ifc4::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } void Ifc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } void Ifc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } void Ifc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } void Ifc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } void Ifc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } void Ifc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcTaskTime::declaration() const { return *IFC4_IfcTaskTime_type; } const IfcParse::entity& Ifc4::IfcTaskTime::Class() { return *IFC4_IfcTaskTime_type; } Ifc4::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTaskTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring ::Ifc4::IfcRecurrencePattern* Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } const IfcParse::entity& Ifc4::IfcTaskTimeRecurring::declaration() const { return *IFC4_IfcTaskTimeRecurring_type; } const IfcParse::entity& Ifc4::IfcTaskTimeRecurring::Class() { return *IFC4_IfcTaskTimeRecurring_type; } Ifc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData* e) : IfcTaskTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTaskTimeRecurring_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTaskTimeRecurring_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v21_Recurrence));data_->setArgument(20,attr);} } // Function implementations for IfcTaskType ::Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskType::PredefinedType() const { return ::Ifc4::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTaskType::setPredefinedType(::Ifc4::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcTaskType::declaration() const { return *IFC4_IfcTaskType_type; } const IfcParse::entity& Ifc4::IfcTaskType::Class() { return *IFC4_IfcTaskType_type; } Ifc4::IfcTaskType::IfcTaskType(IfcEntityInstanceData* e) : IfcTypeProcess((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTaskType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTaskType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTaskTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_WorkMethod));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } void Ifc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } void Ifc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTelecomAddress::declaration() const { return *IFC4_IfcTelecomAddress_type; } const IfcParse::entity& Ifc4::IfcTelecomAddress::Class() { return *IFC4_IfcTelecomAddress_type; } Ifc4::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData* e) : IfcAddress((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTelecomAddress_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTelecomAddress_type); if (v1_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v1_Purpose,::Ifc4::IfcAddressTypeEnum::ToString(*v1_Purpose))));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedPurpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedPurpose));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TelephoneNumbers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TelephoneNumbers));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FacsimileNumbers) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FacsimileNumbers));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_PagerNumber) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_PagerNumber));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ElectronicMailAddresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ElectronicMailAddresses));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_WWWHomePageURL) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_WWWHomePageURL));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_MessagingIDs) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_MessagingIDs));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTendon boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > Ifc4::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } void Ifc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4::IfcTendon::declaration() const { return *IFC4_IfcTendon_type; } const IfcParse::entity& Ifc4::IfcTendon::Class() { return *IFC4_IfcTendon_type; } Ifc4::IfcTendon::IfcTendon(IfcEntityInstanceData* e) : IfcReinforcingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTendon_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTendon_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4::IfcTendonTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TensionForce) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TensionForce));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PreStress) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_PreStress));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_FrictionCoefficient) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_FrictionCoefficient));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_AnchorageSlip) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_AnchorageSlip));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_MinCurvatureRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_MinCurvatureRadius));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > Ifc4::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTendonAnchor::declaration() const { return *IFC4_IfcTendonAnchor_type; } const IfcParse::entity& Ifc4::IfcTendonAnchor::Class() { return *IFC4_IfcTendonAnchor_type; } Ifc4::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData* e) : IfcReinforcingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTendonAnchor_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTendonAnchor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v10_PredefinedType,::Ifc4::IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType))));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcTendonAnchorType ::Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTendonAnchorType::setPredefinedType(::Ifc4::IfcTendonAnchorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTendonAnchorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTendonAnchorType::declaration() const { return *IFC4_IfcTendonAnchorType_type; } const IfcParse::entity& Ifc4::IfcTendonAnchorType::Class() { return *IFC4_IfcTendonAnchorType_type; } Ifc4::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTendonAnchorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTendonAnchorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTendonType ::Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonType::PredefinedType() const { return ::Ifc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTendonType::setPredefinedType(::Ifc4::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcTendonType::declaration() const { return *IFC4_IfcTendonType_type; } const IfcParse::entity& Ifc4::IfcTendonType::Class() { return *IFC4_IfcTendonType_type; } Ifc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTendonType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet ::Ifc4::IfcCartesianPointList3D* Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList3D>(true); } void Ifc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcIndexedColourMap::list::ptr Ifc4::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4_IfcIndexedColourMap_type, 0)->as(); } ::Ifc4::IfcIndexedTextureMap::list::ptr Ifc4::IfcTessellatedFaceSet::HasTextures() const { return data_->getInverse(IFC4_IfcIndexedTextureMap_type, 1)->as(); } const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::declaration() const { return *IFC4_IfcTessellatedFaceSet_type; } const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::Class() { return *IFC4_IfcTessellatedFaceSet_type; } Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData* e) : IfcTessellatedItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTessellatedFaceSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTessellatedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} } // Function implementations for IfcTessellatedItem const IfcParse::entity& Ifc4::IfcTessellatedItem::declaration() const { return *IFC4_IfcTessellatedItem_type; } const IfcParse::entity& Ifc4::IfcTessellatedItem::Class() { return *IFC4_IfcTessellatedItem_type; } Ifc4::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTessellatedItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTessellatedItem_type); } // Function implementations for IfcTextLiteral std::string Ifc4::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcAxis2Placement* Ifc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcTextLiteral::setPlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcTextPath::Value Ifc4::IfcTextLiteral::Path() const { return ::Ifc4::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4::IfcTextLiteral::setPath(::Ifc4::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTextLiteral::declaration() const { return *IFC4_IfcTextLiteral_type; } const IfcParse::entity& Ifc4::IfcTextLiteral::Class() { return *IFC4_IfcTextLiteral_type; } Ifc4::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextLiteral_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent ::Ifc4::IfcPlanarExtent* Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPlanarExtent>(true); } void Ifc4::IfcTextLiteralWithExtent::setExtent(::Ifc4::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTextLiteralWithExtent::declaration() const { return *IFC4_IfcTextLiteralWithExtent_type; } const IfcParse::entity& Ifc4::IfcTextLiteralWithExtent::Class() { return *IFC4_IfcTextLiteralWithExtent_type; } Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData* e) : IfcTextLiteral((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextLiteralWithExtent_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle ::Ifc4::IfcTextStyleForDefinedFont* Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTextStyleForDefinedFont>(true); } void Ifc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcTextStyleTextModel* Ifc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextStyleTextModel>(true); } void Ifc4::IfcTextStyle::setTextStyle(::Ifc4::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTextFontSelect>(true); } void Ifc4::IfcTextStyle::setTextFontStyle(::Ifc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTextStyle::declaration() const { return *IFC4_IfcTextStyle_type; } const IfcParse::entity& Ifc4::IfcTextStyle::Class() { return *IFC4_IfcTextStyle_type; } Ifc4::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TextCharacterAppearance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TextStyle));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextFontStyle));data_->setArgument(3,attr);} if (v5_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ModelOrDraughting));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleFontModel::setFontSize(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcTextStyleFontModel::declaration() const { return *IFC4_IfcTextStyleFontModel_type; } const IfcParse::entity& Ifc4::IfcTextStyleFontModel::Class() { return *IFC4_IfcTextStyleFontModel_type; } Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* e) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextStyleFontModel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcTextStyleForDefinedFont::declaration() const { return *IFC4_IfcTextStyleForDefinedFont_type; } const IfcParse::entity& Ifc4::IfcTextStyleForDefinedFont::Class() { return *IFC4_IfcTextStyleForDefinedFont_type; } Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextStyleForDefinedFont_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4::IfcColour* v1_Colour, ::Ifc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setTextIndent(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLineHeight(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcTextStyleTextModel::declaration() const { return *IFC4_IfcTextStyleTextModel_type; } const IfcParse::entity& Ifc4::IfcTextStyleTextModel::Class() { return *IFC4_IfcTextStyleTextModel_type; } Ifc4::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextStyleTextModel_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyleTextModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TextIndent));data_->setArgument(0,attr);} if (v2_TextAlign) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TextAlign));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_TextDecoration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TextDecoration));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LetterSpacing));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_WordSpacing));data_->setArgument(4,attr);} if (v6_TextTransform) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_TextTransform));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LineHeight));data_->setArgument(6,attr);} } // Function implementations for IfcTextureCoordinate aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } void Ifc4::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTextureCoordinate::declaration() const { return *IFC4_IfcTextureCoordinate_type; } const IfcParse::entity& Ifc4::IfcTextureCoordinate::Class() { return *IFC4_IfcTextureCoordinate_type; } Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextureCoordinate_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextureCoordinate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } void Ifc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTextureCoordinateGenerator::declaration() const { return *IFC4_IfcTextureCoordinateGenerator_type; } const IfcParse::entity& Ifc4::IfcTextureCoordinateGenerator::Class() { return *IFC4_IfcTextureCoordinateGenerator_type; } Ifc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextureCoordinateGenerator_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextureCoordinateGenerator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Mode));data_->setArgument(1,attr);} if (v3_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Parameter));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcTextureMap aggregate_of< ::Ifc4::IfcTextureVertex >::ptr Ifc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTextureVertex >(); } void Ifc4::IfcTextureMap::setVertices(aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4::IfcFace* Ifc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcFace>(true); } void Ifc4::IfcTextureMap::setMappedTo(::Ifc4::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTextureMap::declaration() const { return *IFC4_IfcTextureMap_type; } const IfcParse::entity& Ifc4::IfcTextureMap::Class() { return *IFC4_IfcTextureMap_type; } Ifc4::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData* e) : IfcTextureCoordinate((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextureMap_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4::IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Maps)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Vertices)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MappedTo));data_->setArgument(2,attr);} } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = *data_->getArgument(0); return v; } void Ifc4::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTextureVertex::declaration() const { return *IFC4_IfcTextureVertex_type; } const IfcParse::entity& Ifc4::IfcTextureVertex::Class() { return *IFC4_IfcTextureVertex_type; } Ifc4::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextureVertex_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextureVertex_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTextureVertexList::declaration() const { return *IFC4_IfcTextureVertexList_type; } const IfcParse::entity& Ifc4::IfcTextureVertexList::Class() { return *IFC4_IfcTextureVertexList_type; } Ifc4::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData* e) : IfcPresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTextureVertexList_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextureVertexList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TexCoordsList));data_->setArgument(0,attr);} } // Function implementations for IfcTimePeriod std::string Ifc4::IfcTimePeriod::StartTime() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTimePeriod::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4::IfcTimePeriod::EndTime() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTimePeriod::setEndTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcTimePeriod::declaration() const { return *IFC4_IfcTimePeriod_type; } const IfcParse::entity& Ifc4::IfcTimePeriod::Class() { return *IFC4_IfcTimePeriod_type; } Ifc4::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTimePeriod_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimePeriod_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartTime));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EndTime));data_->setArgument(1,attr);} } // Function implementations for IfcTimeSeries std::string Ifc4::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcTimeSeries::setEndTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4::IfcTimeSeriesDataTypeEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4::IfcTimeSeriesDataTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v)));data_->setArgument(4,attr);} } ::Ifc4::IfcDataOriginEnum::Value Ifc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcTimeSeries::setDataOrigin(::Ifc4::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTimeSeries::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& Ifc4::IfcTimeSeries::declaration() const { return *IFC4_IfcTimeSeries_type; } const IfcParse::entity& Ifc4::IfcTimeSeries::Class() { return *IFC4_IfcTimeSeries_type; } Ifc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTimeSeries_type) throw IfcException("Unable to find keyword in schema"); data_ = 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() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::declaration() const { return *IFC4_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::Class() { return *IFC4_IfcTimeSeriesValue_type; } Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem const IfcParse::entity& Ifc4::IfcTopologicalRepresentationItem::declaration() const { return *IFC4_IfcTopologicalRepresentationItem_type; } const IfcParse::entity& Ifc4::IfcTopologicalRepresentationItem::Class() { return *IFC4_IfcTopologicalRepresentationItem_type; } Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData* e) : IfcRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTopologicalRepresentationItem_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTopologicalRepresentationItem_type); } // Function implementations for IfcTopologyRepresentation const IfcParse::entity& Ifc4::IfcTopologyRepresentation::declaration() const { return *IFC4_IfcTopologyRepresentation_type; } const IfcParse::entity& Ifc4::IfcTopologyRepresentation::Class() { return *IFC4_IfcTopologyRepresentation_type; } Ifc4::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData* e) : IfcShapeModel((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTopologyRepresentation_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTopologyRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcToroidalSurface double Ifc4::IfcToroidalSurface::MajorRadius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcToroidalSurface::setMajorRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcToroidalSurface::MinorRadius() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcToroidalSurface::setMinorRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcToroidalSurface::declaration() const { return *IFC4_IfcToroidalSurface_type; } const IfcParse::entity& Ifc4::IfcToroidalSurface::Class() { return *IFC4_IfcToroidalSurface_type; } Ifc4::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData* e) : IfcElementarySurface((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcToroidalSurface_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcToroidalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_MajorRadius));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MinorRadius));data_->setArgument(2,attr);} } // Function implementations for IfcTransformer boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > Ifc4::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTransformer::declaration() const { return *IFC4_IfcTransformer_type; } const IfcParse::entity& Ifc4::IfcTransformer::Class() { return *IFC4_IfcTransformer_type; } Ifc4::IfcTransformer::IfcTransformer(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTransformer_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTransformer_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcTransformerTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTransformerType ::Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerType::PredefinedType() const { return ::Ifc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTransformerType::setPredefinedType(::Ifc4::IfcTransformerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTransformerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTransformerType::declaration() const { return *IFC4_IfcTransformerType_type; } const IfcParse::entity& Ifc4::IfcTransformerType::Class() { return *IFC4_IfcTransformerType_type; } Ifc4::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTransformerType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTransformerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTransformerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTransportElement boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > Ifc4::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTransportElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransportElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTransportElement::declaration() const { return *IFC4_IfcTransportElement_type; } const IfcParse::entity& Ifc4::IfcTransportElement::Class() { return *IFC4_IfcTransportElement_type; } Ifc4::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTransportElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTransportElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcTransportElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTransportElementType ::Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementType::PredefinedType() const { return ::Ifc4::IfcTransportElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTransportElementType::setPredefinedType(::Ifc4::IfcTransportElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTransportElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTransportElementType::declaration() const { return *IFC4_IfcTransportElementType_type; } const IfcParse::entity& Ifc4::IfcTransportElementType::Class() { return *IFC4_IfcTransportElementType_type; } Ifc4::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData* e) : IfcElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTransportElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTransportElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTransportElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTrapeziumProfileDef double Ifc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcTrapeziumProfileDef::setBottomXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcTrapeziumProfileDef::TopXDim() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcTrapeziumProfileDef::setTopXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcTrapeziumProfileDef::YDim() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcTrapeziumProfileDef::setYDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcTrapeziumProfileDef::setTopXOffset(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcTrapeziumProfileDef::declaration() const { return *IFC4_IfcTrapeziumProfileDef_type; } const IfcParse::entity& Ifc4::IfcTrapeziumProfileDef::Class() { return *IFC4_IfcTrapeziumProfileDef_type; } Ifc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTrapeziumProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrapeziumProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_BottomXDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_TopXDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_YDim));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TopXOffset));data_->setArgument(6,attr);} } // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } void Ifc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTriangulatedFaceSet::declaration() const { return *IFC4_IfcTriangulatedFaceSet_type; } const IfcParse::entity& Ifc4::IfcTriangulatedFaceSet::Class() { return *IFC4_IfcTriangulatedFaceSet_type; } Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData* e) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTriangulatedFaceSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTriangulatedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcTrimmedCurve ::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcTrimmedCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTrimmingSelect >(); } void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcTrimmingSelect >(); } void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } void Ifc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4::IfcTrimmingPreference::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTrimmingPreference::ToString(v)));data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTrimmedCurve::declaration() const { return *IFC4_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4::IfcTrimmedCurve::Class() { return *IFC4_IfcTrimmedCurve_type; } Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTubeBundle::declaration() const { return *IFC4_IfcTubeBundle_type; } const IfcParse::entity& Ifc4::IfcTubeBundle::Class() { return *IFC4_IfcTubeBundle_type; } Ifc4::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTubeBundle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTubeBundle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTubeBundleType ::Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTubeBundleType::setPredefinedType(::Ifc4::IfcTubeBundleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTubeBundleTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTubeBundleType::declaration() const { return *IFC4_IfcTubeBundleType_type; } const IfcParse::entity& Ifc4::IfcTubeBundleType::Class() { return *IFC4_IfcTubeBundleType_type; } Ifc4::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTubeBundleType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTubeBundleType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTubeBundleTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > Ifc4::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } void Ifc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4::IfcRelDefinesByType::list::ptr Ifc4::IfcTypeObject::Types() const { return data_->getInverse(IFC4_IfcRelDefinesByType_type, 5)->as(); } const IfcParse::entity& Ifc4::IfcTypeObject::declaration() const { return *IFC4_IfcTypeObject_type; } const IfcParse::entity& Ifc4::IfcTypeObject::Class() { return *IFC4_IfcTypeObject_type; } Ifc4::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData* e) : IfcObjectDefinition((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTypeObject_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTypeObject_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcRelAssignsToProcess::list::ptr Ifc4::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4_IfcRelAssignsToProcess_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcTypeProcess::declaration() const { return *IFC4_IfcTypeProcess_type; } const IfcParse::entity& Ifc4::IfcTypeProcess::Class() { return *IFC4_IfcTypeProcess_type; } Ifc4::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTypeProcess_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTypeProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ProcessType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ProcessType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > Ifc4::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcRepresentationMap >(); } void Ifc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4_IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcTypeProduct::declaration() const { return *IFC4_IfcTypeProduct_type; } const IfcParse::entity& Ifc4::IfcTypeProduct::Class() { return *IFC4_IfcTypeProduct_type; } Ifc4::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTypeProduct_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTypeProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4_IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& Ifc4::IfcTypeResource::declaration() const { return *IFC4_IfcTypeResource_type; } const IfcParse::entity& Ifc4::IfcTypeResource::Class() { return *IFC4_IfcTypeResource_type; } Ifc4::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData* e) : IfcTypeObject((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcTypeResource_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTypeResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcUShapeProfileDef double Ifc4::IfcUShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcUShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcUShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcUShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcUShapeProfileDef::declaration() const { return *IFC4_IfcUShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcUShapeProfileDef::Class() { return *IFC4_IfcUShapeProfileDef_type; } Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcUShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcUnit >(); } void Ifc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcUnitAssignment::declaration() const { return *IFC4_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4::IfcUnitAssignment::Class() { return *IFC4_IfcUnitAssignment_type; } Ifc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryControlElement::declaration() const { return *IFC4_IfcUnitaryControlElement_type; } const IfcParse::entity& Ifc4::IfcUnitaryControlElement::Class() { return *IFC4_IfcUnitaryControlElement_type; } Ifc4::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData* e) : IfcDistributionControlElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcUnitaryControlElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryControlElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcUnitaryControlElementType ::Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcUnitaryControlElementType::setPredefinedType(::Ifc4::IfcUnitaryControlElementTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryControlElementType::declaration() const { return *IFC4_IfcUnitaryControlElementType_type; } const IfcParse::entity& Ifc4::IfcUnitaryControlElementType::Class() { return *IFC4_IfcUnitaryControlElementType_type; } Ifc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData* e) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcUnitaryControlElementType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryControlElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryEquipment::declaration() const { return *IFC4_IfcUnitaryEquipment_type; } const IfcParse::entity& Ifc4::IfcUnitaryEquipment::Class() { return *IFC4_IfcUnitaryEquipment_type; } Ifc4::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData* e) : IfcEnergyConversionDevice((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcUnitaryEquipment_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryEquipment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcUnitaryEquipmentType ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryEquipmentType::declaration() const { return *IFC4_IfcUnitaryEquipmentType_type; } const IfcParse::entity& Ifc4::IfcUnitaryEquipmentType::Class() { return *IFC4_IfcUnitaryEquipmentType_type; } Ifc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData* e) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcUnitaryEquipmentType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcUnitaryEquipmentType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcValve boost::optional< ::Ifc4::IfcValveTypeEnum::Value > Ifc4::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcValve::declaration() const { return *IFC4_IfcValve_type; } const IfcParse::entity& Ifc4::IfcValve::Class() { return *IFC4_IfcValve_type; } Ifc4::IfcValve::IfcValve(IfcEntityInstanceData* e) : IfcFlowController((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcValve_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcValve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcValveTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcValveType ::Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveType::PredefinedType() const { return ::Ifc4::IfcValveTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcValveType::setPredefinedType(::Ifc4::IfcValveTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcValveTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcValveType::declaration() const { return *IFC4_IfcValveType_type; } const IfcParse::entity& Ifc4::IfcValveType::Class() { return *IFC4_IfcValveType_type; } Ifc4::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowControllerType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcValveType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector ::Ifc4::IfcDirection* Ifc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcVector::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcVector::declaration() const { return *IFC4_IfcVector_type; } const IfcParse::entity& Ifc4::IfcVector::Class() { return *IFC4_IfcVector_type; } Ifc4::IfcVector::IfcVector(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVector_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcVector::IfcVector(::Ifc4::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVector_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Orientation));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Magnitude));data_->setArgument(1,attr);} } // Function implementations for IfcVertex const IfcParse::entity& Ifc4::IfcVertex::declaration() const { return *IFC4_IfcVertex_type; } const IfcParse::entity& Ifc4::IfcVertex::Class() { return *IFC4_IfcVertex_type; } Ifc4::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVertex_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVertex_type); } // Function implementations for IfcVertexLoop ::Ifc4::IfcVertex* Ifc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcVertexLoop::setLoopVertex(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcVertexLoop::declaration() const { return *IFC4_IfcVertexLoop_type; } const IfcParse::entity& Ifc4::IfcVertexLoop::Class() { return *IFC4_IfcVertexLoop_type; } Ifc4::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVertexLoop_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcVertexLoop::IfcVertexLoop(::Ifc4::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint ::Ifc4::IfcPoint* Ifc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPoint>(true); } void Ifc4::IfcVertexPoint::setVertexGeometry(::Ifc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcVertexPoint::declaration() const { return *IFC4_IfcVertexPoint_type; } const IfcParse::entity& Ifc4::IfcVertexPoint::Class() { return *IFC4_IfcVertexPoint_type; } Ifc4::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData* e) : IfcVertex((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVertexPoint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcVertexPoint::IfcVertexPoint(::Ifc4::IfcPoint* v1_VertexGeometry) : IfcVertex((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVertexPoint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_VertexGeometry));data_->setArgument(0,attr);} } // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcVibrationIsolator::declaration() const { return *IFC4_IfcVibrationIsolator_type; } const IfcParse::entity& Ifc4::IfcVibrationIsolator::Class() { return *IFC4_IfcVibrationIsolator_type; } Ifc4::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData* e) : IfcElementComponent((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVibrationIsolator_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVibrationIsolator_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcVibrationIsolatorType ::Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcVibrationIsolatorType::setPredefinedType(::Ifc4::IfcVibrationIsolatorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcVibrationIsolatorType::declaration() const { return *IFC4_IfcVibrationIsolatorType_type; } const IfcParse::entity& Ifc4::IfcVibrationIsolatorType::Class() { return *IFC4_IfcVibrationIsolatorType_type; } Ifc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData* e) : IfcElementComponentType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVibrationIsolatorType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVibrationIsolatorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVirtualElement const IfcParse::entity& Ifc4::IfcVirtualElement::declaration() const { return *IFC4_IfcVirtualElement_type; } const IfcParse::entity& Ifc4::IfcVirtualElement::Class() { return *IFC4_IfcVirtualElement_type; } Ifc4::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData* e) : IfcElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVirtualElement_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVirtualElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcVirtualGridIntersection aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } std::vector< double > /*[2:3]*/ Ifc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcVirtualGridIntersection::declaration() const { return *IFC4_IfcVirtualGridIntersection_type; } const IfcParse::entity& Ifc4::IfcVirtualGridIntersection::Class() { return *IFC4_IfcVirtualGridIntersection_type; } Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4_IfcVirtualGridIntersection_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcVirtualGridIntersection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_IntersectingAxes)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OffsetDistances));data_->setArgument(1,attr);} } // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > Ifc4::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcVoidingFeature::declaration() const { return *IFC4_IfcVoidingFeature_type; } const IfcParse::entity& Ifc4::IfcVoidingFeature::Class() { return *IFC4_IfcVoidingFeature_type; } Ifc4::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData* e) : IfcFeatureElementSubtraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcVoidingFeature_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVoidingFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWall boost::optional< ::Ifc4::IfcWallTypeEnum::Value > Ifc4::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWall::declaration() const { return *IFC4_IfcWall_type; } const IfcParse::entity& Ifc4::IfcWall::Class() { return *IFC4_IfcWall_type; } Ifc4::IfcWall::IfcWall(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWall_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWall_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcWallTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWallElementedCase const IfcParse::entity& Ifc4::IfcWallElementedCase::declaration() const { return *IFC4_IfcWallElementedCase_type; } const IfcParse::entity& Ifc4::IfcWallElementedCase::Class() { return *IFC4_IfcWallElementedCase_type; } Ifc4::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData* e) : IfcWall((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWallElementedCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWallElementedCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcWallTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWallStandardCase const IfcParse::entity& Ifc4::IfcWallStandardCase::declaration() const { return *IFC4_IfcWallStandardCase_type; } const IfcParse::entity& Ifc4::IfcWallStandardCase::Class() { return *IFC4_IfcWallStandardCase_type; } Ifc4::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData* e) : IfcWall((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWallStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWallStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcWallTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWallType ::Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallType::PredefinedType() const { return ::Ifc4::IfcWallTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcWallType::setPredefinedType(::Ifc4::IfcWallTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWallTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcWallType::declaration() const { return *IFC4_IfcWallType_type; } const IfcParse::entity& Ifc4::IfcWallType::Class() { return *IFC4_IfcWallType_type; } Ifc4::IfcWallType::IfcWallType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWallType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWallType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcWallTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > Ifc4::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWasteTerminal::declaration() const { return *IFC4_IfcWasteTerminal_type; } const IfcParse::entity& Ifc4::IfcWasteTerminal::Class() { return *IFC4_IfcWasteTerminal_type; } Ifc4::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData* e) : IfcFlowTerminal((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWasteTerminal_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWasteTerminal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWasteTerminalType ::Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcWasteTerminalType::setPredefinedType(::Ifc4::IfcWasteTerminalTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWasteTerminalTypeEnum::ToString(v)));data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcWasteTerminalType::declaration() const { return *IFC4_IfcWasteTerminalType_type; } const IfcParse::entity& Ifc4::IfcWasteTerminalType::Class() { return *IFC4_IfcWasteTerminalType_type; } Ifc4::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData* e) : IfcFlowTerminalType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWasteTerminalType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWasteTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcWindow boost::optional< double > Ifc4::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > Ifc4::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > Ifc4::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWindow::declaration() const { return *IFC4_IfcWindow_type; } const IfcParse::entity& Ifc4::IfcWindow::Class() { return *IFC4_IfcWindow_type; } Ifc4::IfcWindow::IfcWindow(IfcEntityInstanceData* e) : IfcBuildingElement((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindow_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindow_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcWindowTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_PartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_PartitioningType,::Ifc4::IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcWindowLiningProperties::declaration() const { return *IFC4_IfcWindowLiningProperties_type; } const IfcParse::entity& Ifc4::IfcWindowLiningProperties::Class() { return *IFC4_IfcWindowLiningProperties_type; } Ifc4::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindowLiningProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindowLiningProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LiningDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LiningDepth));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LiningThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LiningThickness));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_TransomThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_TransomThickness));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_MullionThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_MullionThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_FirstTransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_FirstTransomOffset));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_SecondTransomOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_SecondTransomOffset));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_FirstMullionOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_FirstMullionOffset));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_SecondMullionOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_SecondMullionOffset));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ShapeAspectStyle));data_->setArgument(12,attr);} if (v14_LiningOffset) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_LiningOffset));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LiningToPanelOffsetX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LiningToPanelOffsetX));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_LiningToPanelOffsetY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_LiningToPanelOffsetY));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcWindowPanelProperties ::Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4::IfcWindowPanelOperationEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcWindowPanelProperties::setOperationType(::Ifc4::IfcWindowPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowPanelOperationEnum::ToString(v)));data_->setArgument(4,attr);} } ::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } void Ifc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWindowPanelProperties::declaration() const { return *IFC4_IfcWindowPanelProperties_type; } const IfcParse::entity& Ifc4::IfcWindowPanelProperties::Class() { return *IFC4_IfcWindowPanelProperties_type; } Ifc4::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData* e) : IfcPreDefinedPropertySet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindowPanelProperties_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindowPanelProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_OperationType,::Ifc4::IfcWindowPanelOperationEnum::ToString(v5_OperationType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PanelPosition,::Ifc4::IfcWindowPanelPositionEnum::ToString(v6_PanelPosition))));data_->setArgument(5,attr);} if (v7_FrameDepth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_FrameDepth));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_FrameThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FrameThickness));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ShapeAspectStyle));data_->setArgument(8,attr);} } // Function implementations for IfcWindowStandardCase const IfcParse::entity& Ifc4::IfcWindowStandardCase::declaration() const { return *IFC4_IfcWindowStandardCase_type; } const IfcParse::entity& Ifc4::IfcWindowStandardCase::Class() { return *IFC4_IfcWindowStandardCase_type; } Ifc4::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData* e) : IfcWindow((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindowStandardCase_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindowStandardCase_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_OverallHeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_OverallHeight));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_OverallWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_OverallWidth));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_PredefinedType,::Ifc4::IfcWindowTypeEnum::ToString(*v11_PredefinedType))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_PartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v12_PartitioningType,::Ifc4::IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType))));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWindowStyle ::Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4::IfcWindowStyleConstructionEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcWindowStyle::setConstructionType(::Ifc4::IfcWindowStyleConstructionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowStyleConstructionEnum::ToString(v)));data_->setArgument(8,attr);} } ::Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyle::OperationType() const { return ::Ifc4::IfcWindowStyleOperationEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcWindowStyle::setOperationType(::Ifc4::IfcWindowStyleOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowStyleOperationEnum::ToString(v)));data_->setArgument(9,attr);} } bool Ifc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = *data_->getArgument(10); return v; } void Ifc4::IfcWindowStyle::setParameterTakesPrecedence(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } bool Ifc4::IfcWindowStyle::Sizeable() const { bool v = *data_->getArgument(11); return v; } void Ifc4::IfcWindowStyle::setSizeable(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcWindowStyle::declaration() const { return *IFC4_IfcWindowStyle_type; } const IfcParse::entity& Ifc4::IfcWindowStyle::Class() { return *IFC4_IfcWindowStyle_type; } Ifc4::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData* e) : IfcTypeProduct((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindowStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindowStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ConstructionType,::Ifc4::IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_OperationType,::Ifc4::IfcWindowStyleOperationEnum::ToString(v10_OperationType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_ParameterTakesPrecedence));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_Sizeable));data_->setArgument(11,attr);} } // Function implementations for IfcWindowType ::Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowType::PredefinedType() const { return ::Ifc4::IfcWindowTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcWindowType::setPredefinedType(::Ifc4::IfcWindowTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowTypeEnum::ToString(v)));data_->setArgument(9,attr);} } ::Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowType::PartitioningType() const { return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcWindowType::setPartitioningType(::Ifc4::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } void Ifc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWindowType::declaration() const { return *IFC4_IfcWindowType_type; } const IfcParse::entity& Ifc4::IfcWindowType::Class() { return *IFC4_IfcWindowType_type; } Ifc4::IfcWindowType::IfcWindowType(IfcEntityInstanceData* e) : IfcBuildingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWindowType_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWindowType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcWindowTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_PartitioningType,::Ifc4::IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType))));data_->setArgument(10,attr);} if (v12_ParameterTakesPrecedence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ParameterTakesPrecedence));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_UserDefinedPartitioningType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_UserDefinedPartitioningType));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcWorkTime >(); } void Ifc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcWorkTime >(); } void Ifc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > Ifc4::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWorkCalendar::declaration() const { return *IFC4_IfcWorkCalendar_type; } const IfcParse::entity& Ifc4::IfcWorkCalendar::Class() { return *IFC4_IfcWorkCalendar_type; } Ifc4::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWorkCalendar_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkCalendar_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_WorkingTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_WorkingTimes)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ExceptionTimes) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ExceptionTimes)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcWorkControl std::string Ifc4::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPerson >(); } void Ifc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWorkControl::declaration() const { return *IFC4_IfcWorkControl_type; } const IfcParse::entity& Ifc4::IfcWorkControl::Class() { return *IFC4_IfcWorkControl_type; } Ifc4::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData* e) : IfcControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWorkControl_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcWorkPlan boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > Ifc4::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } void Ifc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcWorkPlan::declaration() const { return *IFC4_IfcWorkPlan_type; } const IfcParse::entity& Ifc4::IfcWorkPlan::Class() { return *IFC4_IfcWorkPlan_type; } Ifc4::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData* e) : IfcWorkControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWorkPlan_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkPlan_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4::IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > Ifc4::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } void Ifc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcWorkSchedule::declaration() const { return *IFC4_IfcWorkSchedule_type; } const IfcParse::entity& Ifc4::IfcWorkSchedule::Class() { return *IFC4_IfcWorkSchedule_type; } Ifc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWorkControl((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWorkSchedule_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime ::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcWorkTime::setRecurrencePattern(::Ifc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcWorkTime::declaration() const { return *IFC4_IfcWorkTime_type; } const IfcParse::entity& Ifc4::IfcWorkTime::Class() { return *IFC4_IfcWorkTime_type; } Ifc4::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData* e) : IfcSchedulingTime((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcWorkTime_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RecurrencePattern));data_->setArgument(3,attr);} if (v5_Start) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Start));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Finish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Finish));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcZShapeProfileDef double Ifc4::IfcZShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcZShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcZShapeProfileDef::FlangeWidth() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcZShapeProfileDef::setFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcZShapeProfileDef::WebThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcZShapeProfileDef::declaration() const { return *IFC4_IfcZShapeProfileDef_type; } const IfcParse::entity& Ifc4::IfcZShapeProfileDef::Class() { return *IFC4_IfcZShapeProfileDef_type; } Ifc4::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData* e) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcZShapeProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcZShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcZone boost::optional< std::string > Ifc4::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcZone::declaration() const { return *IFC4_IfcZone_type; } const IfcParse::entity& Ifc4::IfcZone::Class() { return *IFC4_IfcZone_type; } Ifc4::IfcZone::IfcZone(IfcEntityInstanceData* e) : IfcSystem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4_IfcZone_type) throw IfcException("Unable to find keyword in schema"); data_ = 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*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcZone_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_LongName));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } }