/********************************************************************************
* *
* 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. *
* *
********************************************************************************/
#ifndef IFC4_H
#define IFC4_H
#include
#include
#include
#include "../ifcparse/ifc_parse_api.h"
#include "../ifcparse/express.h"
#include "../ifcparse/IfcSchema.h"
#include "../ifcparse/IfcException.h"
#include "../ifcparse/Argument.h"
namespace IfcParse {
class IfcFile;
class IfcSpfHeader;
} // namespace IfcParse
struct Ifc4 {
IFC_PARSE_API static const IfcParse::schema_definition& get_schema();
IFC_PARSE_API static void clear_schema();
static const char* const Identifier;
// Forward definitions
class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedPolygonalFace; class IfcIndexedPolygonalFaceWithVoids; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcIntersectionCurve; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolygonalFaceSet; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSeamCurve; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcSphericalSurface; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurve; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcToroidalSurface; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; class IfcActorSelect; class IfcAppliedValueSelect; class IfcAxis2Placement; class IfcBendingParameterSelect; class IfcBooleanOperand; class IfcClassificationReferenceSelect; class IfcClassificationSelect; class IfcColour; class IfcColourOrFactor; class IfcCoordinateReferenceSystemSelect; class IfcCsgSelect; class IfcCurveFontOrScaledCurveFontSelect; class IfcCurveOnSurface; class IfcCurveOrEdgeCurve; class IfcCurveStyleFontSelect; class IfcDefinitionSelect; class IfcDerivedMeasureValue; class IfcDocumentSelect; class IfcFillStyleSelect; class IfcGeometricSetSelect; class IfcGridPlacementDirectionSelect; class IfcHatchLineDistanceSelect; class IfcLayeredItem; class IfcLibrarySelect; class IfcLightDistributionDataSourceSelect; class IfcMaterialSelect; class IfcMeasureValue; class IfcMetricValueSelect; class IfcModulusOfRotationalSubgradeReactionSelect; class IfcModulusOfSubgradeReactionSelect; class IfcModulusOfTranslationalSubgradeReactionSelect; class IfcObjectReferenceSelect; class IfcPointOrVertexPoint; class IfcPresentationStyleSelect; class IfcProcessSelect; class IfcProductRepresentationSelect; class IfcProductSelect; class IfcPropertySetDefinitionSelect; class IfcResourceObjectSelect; class IfcResourceSelect; class IfcRotationalStiffnessSelect; class IfcSegmentIndexSelect; class IfcShell; class IfcSimpleValue; class IfcSizeSelect; class IfcSolidOrShell; class IfcSpaceBoundarySelect; class IfcSpecularHighlightSelect; class IfcStructuralActivityAssignmentSelect; class IfcStyleAssignmentSelect; class IfcSurfaceOrFaceSurface; class IfcSurfaceStyleElementSelect; class IfcTextFontSelect; class IfcTimeOrRatioSelect; class IfcTranslationalStiffnessSelect; class IfcTrimmingSelect; class IfcUnit; class IfcValue; class IfcVectorOrDirection; class IfcWarpingStiffnessSelect; class IfcActionRequestTypeEnum; class IfcActionSourceTypeEnum; class IfcActionTypeEnum; class IfcActuatorTypeEnum; class IfcAddressTypeEnum; class IfcAirTerminalBoxTypeEnum; class IfcAirTerminalTypeEnum; class IfcAirToAirHeatRecoveryTypeEnum; class IfcAlarmTypeEnum; class IfcAnalysisModelTypeEnum; class IfcAnalysisTheoryTypeEnum; class IfcArithmeticOperatorEnum; class IfcAssemblyPlaceEnum; class IfcAudioVisualApplianceTypeEnum; class IfcBSplineCurveForm; class IfcBSplineSurfaceForm; class IfcBeamTypeEnum; class IfcBenchmarkEnum; class IfcBoilerTypeEnum; class IfcBooleanOperator; class IfcBuildingElementPartTypeEnum; class IfcBuildingElementProxyTypeEnum; class IfcBuildingSystemTypeEnum; class IfcBurnerTypeEnum; class IfcCableCarrierFittingTypeEnum; class IfcCableCarrierSegmentTypeEnum; class IfcCableFittingTypeEnum; class IfcCableSegmentTypeEnum; class IfcChangeActionEnum; class IfcChillerTypeEnum; class IfcChimneyTypeEnum; class IfcCoilTypeEnum; class IfcColumnTypeEnum; class IfcCommunicationsApplianceTypeEnum; class IfcComplexPropertyTemplateTypeEnum; class IfcCompressorTypeEnum; class IfcCondenserTypeEnum; class IfcConnectionTypeEnum; class IfcConstraintEnum; class IfcConstructionEquipmentResourceTypeEnum; class IfcConstructionMaterialResourceTypeEnum; class IfcConstructionProductResourceTypeEnum; class IfcControllerTypeEnum; class IfcCooledBeamTypeEnum; class IfcCoolingTowerTypeEnum; class IfcCostItemTypeEnum; class IfcCostScheduleTypeEnum; class IfcCoveringTypeEnum; class IfcCrewResourceTypeEnum; class IfcCurtainWallTypeEnum; class IfcCurveInterpolationEnum; class IfcDamperTypeEnum; class IfcDataOriginEnum; class IfcDerivedUnitEnum; class IfcDirectionSenseEnum; class IfcDiscreteAccessoryTypeEnum; class IfcDistributionChamberElementTypeEnum; class IfcDistributionPortTypeEnum; class IfcDistributionSystemEnum; class IfcDocumentConfidentialityEnum; class IfcDocumentStatusEnum; class IfcDoorPanelOperationEnum; class IfcDoorPanelPositionEnum; class IfcDoorStyleConstructionEnum; class IfcDoorStyleOperationEnum; class IfcDoorTypeEnum; class IfcDoorTypeOperationEnum; class IfcDuctFittingTypeEnum; class IfcDuctSegmentTypeEnum; class IfcDuctSilencerTypeEnum; class IfcElectricApplianceTypeEnum; class IfcElectricDistributionBoardTypeEnum; class IfcElectricFlowStorageDeviceTypeEnum; class IfcElectricGeneratorTypeEnum; class IfcElectricMotorTypeEnum; class IfcElectricTimeControlTypeEnum; class IfcElementAssemblyTypeEnum; class IfcElementCompositionEnum; class IfcEngineTypeEnum; class IfcEvaporativeCoolerTypeEnum; class IfcEvaporatorTypeEnum; class IfcEventTriggerTypeEnum; class IfcEventTypeEnum; class IfcExternalSpatialElementTypeEnum; class IfcFanTypeEnum; class IfcFastenerTypeEnum; class IfcFilterTypeEnum; class IfcFireSuppressionTerminalTypeEnum; class IfcFlowDirectionEnum; class IfcFlowInstrumentTypeEnum; class IfcFlowMeterTypeEnum; class IfcFootingTypeEnum; class IfcFurnitureTypeEnum; class IfcGeographicElementTypeEnum; class IfcGeometricProjectionEnum; class IfcGlobalOrLocalEnum; class IfcGridTypeEnum; class IfcHeatExchangerTypeEnum; class IfcHumidifierTypeEnum; class IfcInterceptorTypeEnum; class IfcInternalOrExternalEnum; class IfcInventoryTypeEnum; class IfcJunctionBoxTypeEnum; class IfcKnotType; class IfcLaborResourceTypeEnum; class IfcLampTypeEnum; class IfcLayerSetDirectionEnum; class IfcLightDistributionCurveEnum; class IfcLightEmissionSourceEnum; class IfcLightFixtureTypeEnum; class IfcLoadGroupTypeEnum; class IfcLogicalOperatorEnum; class IfcMechanicalFastenerTypeEnum; class IfcMedicalDeviceTypeEnum; class IfcMemberTypeEnum; class IfcMotorConnectionTypeEnum; class IfcNullStyle; class IfcObjectTypeEnum; class IfcObjectiveEnum; class IfcOccupantTypeEnum; class IfcOpeningElementTypeEnum; class IfcOutletTypeEnum; class IfcPerformanceHistoryTypeEnum; class IfcPermeableCoveringOperationEnum; class IfcPermitTypeEnum; class IfcPhysicalOrVirtualEnum; class IfcPileConstructionEnum; class IfcPileTypeEnum; class IfcPipeFittingTypeEnum; class IfcPipeSegmentTypeEnum; class IfcPlateTypeEnum; class IfcPreferredSurfaceCurveRepresentation; class IfcProcedureTypeEnum; class IfcProfileTypeEnum; class IfcProjectOrderTypeEnum; class IfcProjectedOrTrueLengthEnum; class IfcProjectionElementTypeEnum; class IfcPropertySetTemplateTypeEnum; class IfcProtectiveDeviceTrippingUnitTypeEnum; class IfcProtectiveDeviceTypeEnum; class IfcPumpTypeEnum; class IfcRailingTypeEnum; class IfcRampFlightTypeEnum; class IfcRampTypeEnum; class IfcRecurrenceTypeEnum; class IfcReflectanceMethodEnum; class IfcReinforcingBarRoleEnum; class IfcReinforcingBarSurfaceEnum; class IfcReinforcingBarTypeEnum; class IfcReinforcingMeshTypeEnum; class IfcRoleEnum; class IfcRoofTypeEnum; class IfcSIPrefix; class IfcSIUnitName; class IfcSanitaryTerminalTypeEnum; class IfcSectionTypeEnum; class IfcSensorTypeEnum; class IfcSequenceEnum; class IfcShadingDeviceTypeEnum; class IfcSimplePropertyTemplateTypeEnum; class IfcSlabTypeEnum; class IfcSolarDeviceTypeEnum; class IfcSpaceHeaterTypeEnum; class IfcSpaceTypeEnum; class IfcSpatialZoneTypeEnum; class IfcStackTerminalTypeEnum; class IfcStairFlightTypeEnum; class IfcStairTypeEnum; class IfcStateEnum; class IfcStructuralCurveActivityTypeEnum; class IfcStructuralCurveMemberTypeEnum; class IfcStructuralSurfaceActivityTypeEnum; class IfcStructuralSurfaceMemberTypeEnum; class IfcSubContractResourceTypeEnum; class IfcSurfaceFeatureTypeEnum; class IfcSurfaceSide; class IfcSwitchingDeviceTypeEnum; class IfcSystemFurnitureElementTypeEnum; class IfcTankTypeEnum; class IfcTaskDurationEnum; class IfcTaskTypeEnum; class IfcTendonAnchorTypeEnum; class IfcTendonTypeEnum; class IfcTextPath; class IfcTimeSeriesDataTypeEnum; class IfcTransformerTypeEnum; class IfcTransitionCode; class IfcTransportElementTypeEnum; class IfcTrimmingPreference; class IfcTubeBundleTypeEnum; class IfcUnitEnum; class IfcUnitaryControlElementTypeEnum; class IfcUnitaryEquipmentTypeEnum; class IfcValveTypeEnum; class IfcVibrationIsolatorTypeEnum; class IfcVoidingFeatureTypeEnum; class IfcWallTypeEnum; class IfcWasteTerminalTypeEnum; class IfcWindowPanelOperationEnum; class IfcWindowPanelPositionEnum; class IfcWindowStyleConstructionEnum; class IfcWindowStyleOperationEnum; class IfcWindowTypeEnum; class IfcWindowTypePartitioningEnum; class IfcWorkCalendarTypeEnum; class IfcWorkPlanTypeEnum; class IfcWorkScheduleTypeEnum;
/// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced.
///
/// NOTE Corresponds to the following entity in ISO 10303-41: person_organization_select.
///
/// HISTORY New entity in IFC Release 1.5.1
///
/// SELECT
///
/// IfcOrganization An organization.
/// IfcPerson A person.
/// IfcPersonAndOrganization A person related to an organization.
class IFC_PARSE_API IfcActorSelect : public express::Select {
public:
IfcActorSelect() {}
explicit IfcActorSelect(const express::Base& c) : express::Select(c) {}
static const IfcParse::select_type& Class();
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcOrganization as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPerson as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPersonAndOrganization as() const { return express::Base::as(); }
IfcActorSelect(const IfcOrganization& c) : express::Select(c) {};
IfcActorSelect(const IfcPerson& c) : express::Select(c) {};
IfcActorSelect(const IfcPersonAndOrganization& c) : express::Select(c) {};
};
/// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue.
///
/// Select from:
///
/// IfcMeasureWithUnit
/// IfcMonetaryMeasure
/// IfcRatioMeasure
///
/// HISTORY: New SELECT type in IFC 2x2.
///
/// Use definitions
/// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented.
/// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context
/// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8
class IFC_PARSE_API IfcAppliedValueSelect : public express::Select {
public:
IfcAppliedValueSelect() {}
explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {}
static const IfcParse::select_type& Class();
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMeasureWithUnit as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcReference as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcValue as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDerivedMeasureValue as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAbsorbedDoseMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAccelerationMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAngularVelocityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAreaDensityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcCompoundPlaneAngleMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcCurvatureMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDoseEquivalentMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDynamicViscosityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricCapacitanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricChargeMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricConductanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricResistanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricVoltageMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcEnergyMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcForceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcFrequencyMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcHeatFluxDensityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcHeatingValueMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcIlluminanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcInductanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcIntegerCountRateMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcIonConcentrationMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcIsothermalMoistureCapacityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcKinematicViscosityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLinearForceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLinearMomentMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLinearStiffnessMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLinearVelocityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLuminousFluxMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLuminousIntensityDistributionMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMagneticFluxDensityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMagneticFluxMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMassDensityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMassFlowRateMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMassPerLengthMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcModulusOfElasticityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcModulusOfLinearSubgradeReactionMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcModulusOfRotationalSubgradeReactionMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcModulusOfSubgradeReactionMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMoistureDiffusivityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMolecularWeightMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMomentOfInertiaMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMonetaryMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPHMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPlanarForceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPowerMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPressureMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcRadioActivityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcRotationalFrequencyMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcRotationalMassMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcRotationalStiffnessMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSectionModulusMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSectionalAreaIntegralMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcShearModulusMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSoundPowerLevelMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSoundPowerMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSoundPressureLevelMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSoundPressureMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSpecificHeatCapacityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTemperatureGradientMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTemperatureRateOfChangeMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermalAdmittanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermalConductivityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermalExpansionCoefficientMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermalResistanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermalTransmittanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTorqueMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcVaporPermeabilityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcVolumetricFlowRateMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcWarpingConstantMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcWarpingMomentMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMeasureValue as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAmountOfSubstanceMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAreaMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcComplexNumber as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcContextDependentMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcCountMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDescriptiveMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcElectricCurrentMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLengthMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLuminousIntensityMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcMassMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcNonNegativeLengthMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcNormalisedRatioMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcNumericMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcParameterValue as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPlaneAngleMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPositiveLengthMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPositivePlaneAngleMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPositiveRatioMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcRatioMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSolidAngleMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcThermodynamicTemperatureMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTimeMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcVolumeMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSimpleValue as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcBinary as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcBoolean as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDate as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDateTime as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcDuration as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcIdentifier as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcInteger as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLabel as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLogical as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPositiveInteger as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcReal as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcText as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTime as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTimeStamp as() const { return express::Base::as(); }
IfcAppliedValueSelect(const IfcMeasureWithUnit& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcReference& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcValue& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDerivedMeasureValue& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAbsorbedDoseMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAccelerationMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAngularVelocityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAreaDensityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcCompoundPlaneAngleMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcCurvatureMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDoseEquivalentMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDynamicViscosityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricCapacitanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricChargeMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricConductanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricResistanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricVoltageMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcEnergyMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcForceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcFrequencyMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcHeatFluxDensityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcHeatingValueMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcIlluminanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcInductanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcIntegerCountRateMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcIonConcentrationMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcIsothermalMoistureCapacityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcKinematicViscosityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLinearForceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLinearMomentMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLinearStiffnessMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLinearVelocityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLuminousFluxMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLuminousIntensityDistributionMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMagneticFluxDensityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMagneticFluxMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMassDensityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMassFlowRateMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMassPerLengthMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcModulusOfElasticityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcModulusOfLinearSubgradeReactionMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcModulusOfRotationalSubgradeReactionMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcModulusOfSubgradeReactionMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMoistureDiffusivityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMolecularWeightMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMomentOfInertiaMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMonetaryMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPHMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPlanarForceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPowerMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPressureMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcRadioActivityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcRotationalFrequencyMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcRotationalMassMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcRotationalStiffnessMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSectionModulusMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSectionalAreaIntegralMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcShearModulusMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSoundPowerLevelMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSoundPowerMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSoundPressureLevelMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSoundPressureMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSpecificHeatCapacityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTemperatureGradientMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTemperatureRateOfChangeMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermalAdmittanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermalConductivityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermalExpansionCoefficientMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermalResistanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermalTransmittanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTorqueMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcVaporPermeabilityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcVolumetricFlowRateMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcWarpingConstantMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcWarpingMomentMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMeasureValue& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAmountOfSubstanceMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcAreaMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcComplexNumber& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcContextDependentMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcCountMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDescriptiveMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcElectricCurrentMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLengthMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLuminousIntensityMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcMassMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcNonNegativeLengthMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcNormalisedRatioMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcNumericMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcParameterValue& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPositiveLengthMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPositivePlaneAngleMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPositiveRatioMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcRatioMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSolidAngleMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcThermodynamicTemperatureMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTimeMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcVolumeMeasure& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcSimpleValue& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcBinary& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcBoolean& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDate& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDateTime& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcDuration& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcIdentifier& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcInteger& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLabel& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcLogical& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcPositiveInteger& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcReal& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcText& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTime& c) : express::Select(c) {};
IfcAppliedValueSelect(const IfcTimeStamp& c) : express::Select(c) {};
};
/// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality.
///
/// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard.
///
/// HISTORY: New type in IFC Release 1.5
class IFC_PARSE_API IfcAxis2Placement : public express::Select {
public:
IfcAxis2Placement() {}
explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {}
static const IfcParse::select_type& Class();
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAxis2Placement2D as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcAxis2Placement3D as() const { return express::Base::as(); }
IfcAxis2Placement(const IfcAxis2Placement2D& c) : express::Select(c) {};
IfcAxis2Placement(const IfcAxis2Placement3D& c) : express::Select(c) {};
};
/// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters.
///
/// HISTORY New type in IFC Release 2x4
class IFC_PARSE_API IfcBendingParameterSelect : public express::Select {
public:
IfcBendingParameterSelect() {}
explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {}
static const IfcParse::select_type& Class();
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcLengthMeasure as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcPlaneAngleMeasure as() const { return express::Base::as(); }
IfcBendingParameterSelect(const IfcLengthMeasure& c) : express::Select(c) {};
IfcBendingParameterSelect(const IfcPlaneAngleMeasure& c) : express::Select(c) {};
};
/// Definition from ISO/CD 10303-42:1992: This select type identifies
/// all those types of entities which may participate in a Boolean operation to
/// form a CSG solid.
/// Definition from IAI: CSG primitives are out of scope for the
/// current IFC Release. Only faceted B-reps, swept area solids and half space
/// solids are available as Boolean operands. Boolean results themselves can be used
/// as operands thus enabling nested Boolean operations.
///
/// NOTE Corresponding STEP type:
/// boolean_operand, please refer to ISO/IS 10303-42:1994, p.167 for the final
/// definition of the formal standard. In IFC Release 1.5.1 & 2.0 only Boolean
/// results (IfcBooleanResult), half space solids
/// (IfcHalfSpaceSolid), faceted B-Rep, extruded solids and revolved solids
/// (IfcSolidModel) are defined for being valid Boolean operands.
///
/// HISTORY: New Type in IFC Release 1.5.1
class IFC_PARSE_API IfcBooleanOperand : public express::Select {
public:
IfcBooleanOperand() {}
explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {}
static const IfcParse::select_type& Class();
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcBooleanResult as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcCsgPrimitive3D as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcHalfSpaceSolid as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcSolidModel as() const { return express::Base::as(); }
// let's just use the as<>() from Base instead directly...
// template, int> = 0>
// IfcTessellatedFaceSet as() const { return express::Base::as