Struct Ifc4x3_rc1

Nested Relationships

Nested Types

Struct Documentation

struct Ifc4x3_rc1

Public Types

typedef IfcUtil::IfcBaseClass IfcActorSelect

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.

typedef IfcUtil::IfcBaseClass IfcAppliedValueSelect

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

typedef IfcUtil::IfcBaseClass IfcAxis2Placement

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

typedef IfcUtil::IfcBaseClass IfcBendingParameterSelect

Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters.

HISTORY New type in IFC Release 2x4

typedef IfcUtil::IfcBaseClass IfcBooleanOperand

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

typedef IfcUtil::IfcBaseClass IfcClassificationReferenceSelect

IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source.

HISTORY: New Select Type in IFC2x

Select From:

IfcClassification (for classification information) IfcClassificationReference (for reference into a classification source)

typedef IfcUtil::IfcBaseClass IfcClassificationSelect

IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such.

NOTE Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = “L6814” and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in circumstances where there could be a need to indicate the classification system that will be used without associating a notation or reference to an individual object. This may occur for higher level objects such as IfcProject, IfcSystem, or similar. For example an IfcStructuralAnalysisModel might be classified to be applicable to a particular version of EuroCode.

HISTORY New select type in IFC2x

IFC2x4 CHANGE Select renamed from IfcClassificationNotationSelect.

Select from:

IfcClassification (for referencing a classification system) IfcClassificationReference (for referencing a classification item (or facet) inside a classification system)

typedef IfcUtil::IfcBaseClass IfcColour

Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture.

NOTE Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard.

HISTORY New entity in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcColourOrFactor

The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components.

HISTORY: New type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcCoordinateReferenceSystemSelect

IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation.

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcCsgSelect

Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive.

NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard.

HISTORY New Type in IFC Release 1.5.1.

typedef IfcUtil::IfcBaseClass IfcCurveFontOrScaledCurveFontSelect

Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling.

NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

HISTORY New entity in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcCurveOnSurface
typedef IfcUtil::IfcBaseClass IfcCurveOrEdgeCurve

IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. SELECT

IfcCurve IfcEdgeCurve

HISTORY New select type in IFC2x Edition 3.

typedef IfcUtil::IfcBaseClass IfcCurveStyleFontSelect

Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font.

NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

HISTORY New entity in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcDefinitionSelect

IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. SELECT

IfcObjectDefinition, IfcPropertyDefinition

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcDerivedMeasureValue

IfcDerivedMeasureValue is a select type for selecting between derived measure types.

SELECT

IfcAbsorbedDoseMeasure IfcAccelerationMeasure IfcAngularVelocityMeasure IfcCompoundPlaneAngleMeasure IfcDoseEquivalentMeasure IfcDynamicViscosityMeasure IfcElectricCapacitanceMeasure IfcElectricChargeMeasure IfcElectricConductanceMeasure IfcElectricResistanceMeasure IfcElectricVoltageMeasure IfcEnergyMeasure IfcForceMeasure IfcFrequencyMeasure IfcHeatFluxDensityMeasure IfcIlluminanceMeasure IfcInductanceMeasure IfcIntegerCountRateMeasure IfcIsothermalMoisturecapacityMeasure IfcKinematicViscosityMeasure IfcLinearForceMeasure IfcLinearMomentMeasure IfcLinearStiffnessMeasure IfcLinearVelocityMeasure IfcLuminousFluxMeasure IfcMagneticFluxDensityMeasure IfcMagneticFluxMeasure IfcMassDensityMeasure IfcMassFlowRateMeasure IfcModulusOfElasticityMeasure IfcModulusOfSubgradeReactionMeasure IfcMoistureDiffusivityMeasure IfcMolecularWeightMeasure IfcMomentOfInertiaMeasure IfcMonetaryMeasure IfcPlanarForceMeasure IfcPowerMeasure IfcPressureMeasure IfcRadioActivityMeasure IfcRotationalFrequencyMeasure IfcRotationalStiffnessMeasure IfcShearModulusMeasure IfcSpecificHeatCapacityMeasure IfcThermalAdmittanceMeasure IfcThermalConductivityMeasure IfcThermalResistanceMeasure IfcThermalTransmittanceMeasure IfcTimeStamp IfcTorqueMeasure IfcVaporPermeabilityMeasure IfcVolumetricFlowRateMeasure IfcCurvatureMeasure IfcMassPerLengthMeasure IfcRotationalMassMeasure IfcSectionalAreaIntegralMeasure IfcSectionModulusMeasure IfcTemperatureGradientMeasure IfcTemperatureRateOfChangeMeasure IfcWarpingConstantMeasure IfcWarpingMomentMeasure IfcThermalExpansionCoefficientMeasure IfcModulusOfLinearSubgradeReactionMeasure IfcModulusOfRotationalSubgradeReactionMeasure IfcLuminousIntensityDistributionMeasure IfcSoundPowerMeasure IfcSoundPressureMeasure

HISTORY New type in IFC Release 2x.

IFC2x4 change: added IfcTemperatureRateOfChangeMeasure.

typedef IfcUtil::IfcBaseClass IfcDocumentSelect

IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source.

HISTORY: New Select Type in IFC 2x

Select From:

IfcDocumentInformation (for “metadata” of an external document) IfcDocumentReference (for reference within a document)

typedef IfcUtil::IfcBaseClass IfcFacilityPartTypeSelect
typedef IfcUtil::IfcBaseClass IfcFillStyleSelect

Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles.

NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

HISTORY New type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcGeometricSetSelect

Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set.

NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard.

HISTORY: New type in IFC Release 2x.

typedef IfcUtil::IfcBaseClass IfcGridPlacementDirectionSelect

IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction.

SELECT

IfcDirection, IfcVirtualGridIntersection

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcHatchLineDistanceSelect

The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector.

HISTORY New type in IFC2x3.

typedef IfcUtil::IfcBaseClass IfcImpactProtectionDeviceTypeSelect
typedef IfcUtil::IfcBaseClass IfcInterferenceSelect
typedef IfcUtil::IfcBaseClass IfcLayeredItem

Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers.

It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer.

NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard.

HISTORY: New type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcLibrarySelect

IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source.

HISTORY: New Select Type in IFC2x

Select From:

IfcLibraryInformation (for library information) IfcLibraryReference (for reference into a library of information by location)

Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building.

typedef IfcUtil::IfcBaseClass IfcLightDistributionDataSourceSelect

A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution.

The light distribution provides the luminous intensity distribution according to some standardized light distribution curves.

Select:

Type Definition

IfcExternalReference Light distribution is represented by a standard photometric data file such as Eulumdat, IES, CIBSE TM14.

IfcLightIntensityDistribution For representing a light distribution directly the following values needs to be given in a table like structure with column and row headings. These headings should contain the angles (C/γ or B/β ) and the table body contains the intensity values, (normally normalized to cd/Klm). The angles can be non- equidistant and the angle steps can be almost any value in the valid range, so a list of all available angles in both directions covers all cases.

HISTORY New type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcLinearAxisSelect
typedef IfcUtil::IfcBaseClass IfcMaterialSelect

IfcMaterialSelect provides selection of either a material definition or a material usage definition that can be assigned to an element, a resource or another entity within IFC. SELECT

IfcMaterialDefinition

IfcMaterial IfcMaterialLayer IfcMaterialLayerSet IfcMaterialProfile IfcMaterialProfileSet IfcMaterialConstituent IfcMaterialConstituentSet

IfcMaterialUsageDefinition

IfcMaterialLayerSetUsage IfcMaterialProfileSetUsage

IfcMaterialList

HISTORY New select in IFC 1.0

IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards.

typedef IfcUtil::IfcBaseClass IfcMeasureValue

Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2).

NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41.

NOTE Corresponding ISO 10303 name: measure_value, please refer to ISO/IS 10303-41 for the final definition of the formal standard.

HISTORY New type in IFC Release 1.5.1.

IFC 2x4 change: added IfcNonNegativeLengthMeasure

typedef IfcUtil::IfcBaseClass IfcMetricValueSelect

IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric.

HISTORY: New type in IFC Release 2.0

Select

IfcCostValue IfcDateTime IfcMeasureWithUnit IfcTable IfcText IfcTimeSeries

typedef IfcUtil::IfcBaseClass IfcModulusOfRotationalSubgradeReactionSelect

Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

typedef IfcUtil::IfcBaseClass IfcModulusOfSubgradeReactionSelect

Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

typedef IfcUtil::IfcBaseClass IfcModulusOfTranslationalSubgradeReactionSelect

Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

typedef IfcUtil::IfcBaseClass IfcObjectReferenceSelect

IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set.

HISTORY New select type in IFC Release 2.0.

typedef IfcUtil::IfcBaseClass IfcPointOrVertexPoint

IfcPointOrVertexPointprovides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. SELECT

IfcPoint, IfcVertexPoint

HISTORY New select type in IFC2x Edition 3.

typedef IfcUtil::IfcBaseClass IfcPresentationStyleSelect

Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled.

NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

HISTORY New type in IFC2x2.

IFC2x4 CHANGE The select type has been deprecated.

typedef IfcUtil::IfcBaseClass IfcProcessSelect

IfcProcessSelectprovides the option to either select a process or activity occurrence, IfcProcess, or a process or activity type, IfcTypeProcess. SELECT

IfcProcess,

IfcTypeProcess

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcProductRepresentationSelect
typedef IfcUtil::IfcBaseClass IfcProductSelect

IfcProductSelectprovides the option to either select a product occurrence, IfcProduct, or a product type, IfcTypeProduct. SELECT

IfcProduct, IfcTypeProduct

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcPropertySetDefinitionSelect
typedef IfcUtil::IfcBaseClass IfcResourceObjectSelect

IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level.

HISTORY New Select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcResourceSelect

IfcResourceSelectprovides the option to either select a resource occurrence, IfcResource, or a resource type, IfcTypeResource. SELECT

IfcResource, IfcTypeResource

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcRotationalStiffnessSelect

Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect
typedef IfcUtil::IfcBaseClass IfcShell

Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥.

A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. A shell of dimensionality 1 is represented by a connected graph of dimensionality 1. A shell of dimensionality 2 is a topological entity constructed by joining faces along edges. Its domain, if present, is a connected, orientable 2-manifold with boundary, that is, a connected, oriented, finite, non-self-intersecting surface, which may be closed or open.

Shells of dimensionality 0 and 1 are not part of the current IFC release.

NOTE Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release.

HISTORY New type in IFC2x.

typedef IfcUtil::IfcBaseClass IfcSimpleValue

IfcSimpleValue is a select type for selecting between simple value types.

SELECT

IfcInteger: Defined type of simple type INTEGER. IfcReal: Defined type of simple type REAL. IfcBoolean: Defined type of simple type BOOLEAN. IfcLogical: Defined type of simple type LOGICAL. IfcIdentifier: Defined type of simple type STRING for identification purposes. IfcLabel: Defined type of simple type STRING for naming purposes. IfcText: Defined type of simple type STRING for descriptive purposes. IfcDateTime: Defined type of simple type STRING to represent a date and time. IfcDate: Defined type of simple type STRING to represent a date. IfcTime: Defined type of simple type STRING to represent a time. IfcDuration: Defined type of simple type STRING to represent a duration.

HISTORY New type in IFC Release 2x.

IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added.

typedef IfcUtil::IfcBaseClass IfcSizeSelect

Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure.

Definition from ISO: The size (or width) measure value is given in the global drawing length units.

NOTE global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.

NOTE Corresponding ISO 10303 name: size_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

HISTORY New type in IFC2x2.

IFC2x3 CHANGE The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added.

typedef IfcUtil::IfcBaseClass IfcSolidOrShell

The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. SELECT

IfcSolidModel IfcClosedShell

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcSpaceBoundarySelect

Definition from IAI: The IfcSpaceBoundarySelectselects either an internal space for internal or external space boundaries, or an external spatial element for external space boundaries at the outer envelop of the building. SELECT

IfcSpace, IfcExternalSpatialElement

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcSpatialReferenceSelect
typedef IfcUtil::IfcBaseClass IfcSpecularHighlightSelect

The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness.

NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes:

in ISO10303-46 the attribute specular_exponent is given in VRML97 the attribute shininess is given

For each surface side style only one of the two methods is needed for calculating the specular part of the equation.

HISTORY: New type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcStructuralActivityAssignmentSelect

Definition from IAI: This type definition shall be used to distinguish between a reference to an instance either of IfcStructuralItem or IfcBuildingElement. The IfcStructuralActivityAssignmentSelect type is referenced by the entity IfcRelConnectsStructuralActivity which defines the connection between activities (IfcStructuralActivity) and the loaded element.

HISTORY: New type in Release IFC2x Edition 2.

typedef IfcUtil::IfcBaseClass IfcStyleAssignmentSelect

The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem.

by directly assigning presentation styles as subtypes of IfcPresentationStyle by assigning presentation stypes via an intermediate collection entity IfcPresentationStyleAssignment

NOTE Using IfcPresentationStyleAssignment is deprecated in IFC2x4 onwards

NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items.

HISTORY New select type in IFC2x4.

typedef IfcUtil::IfcBaseClass IfcSurfaceOrFaceSurface

IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. SELECT

IfcSurface IfcFaceSurface IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface)

HISTORY New select type in IFC2x3.

typedef IfcUtil::IfcBaseClass IfcSurfaceStyleElementSelect

Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface.

The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library.

NOTE The IfcSurfaceLightingProperties are needed for exact lighting calculation, because physically based lighting calculation algorithms need exact physically based parameters. The factors in IfcSurfaceStyleRendering lack the physical base, they are intended for rendering calculations, but a lighting calculation based software cannot use these values.

NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard.

HISTORY: New Select type in IFC2x2.

typedef IfcUtil::IfcBaseClass IfcTextFontSelect

IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303.

NOTE IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard.

HISTORY New type in IFC2x2.

IFC2x3 CHANGE The select type has been renamed from IfcFontSelect.

typedef IfcUtil::IfcBaseClass IfcTimeOrRatioSelect

IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. HISTORY New SELECT in IFC2x4

typedef IfcUtil::IfcBaseClass IfcTranslationalStiffnessSelect

Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

typedef IfcUtil::IfcBaseClass IfcTransportElementTypeSelect
typedef IfcUtil::IfcBaseClass IfcTrimmingSelect

Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve.

NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard.

HISTORY New Type in IFC Release 1.0

typedef IfcUtil::IfcBaseClass IfcUnit

Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed.

NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41.

NOTE: Corresponding ISO 10303 name: unit, please refer to ISO/IS 10303-41 for the final definition of the formal standard.

SELECT

IfcNamedUnit: A unit which is identified by a name. IfcDerivedUnit: A unit which is derived from an expression of units. IfcMonetaryUnit: A unit for defining currencies.

HISTORY: New type in IFC Release 1.5.1.

typedef IfcUtil::IfcBaseClass IfcValue

IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, IfcMeasureValue and IfcDerivedMeasureValue.

SELECT

IfcSimpleValue A select type for basic defined types of simple data type. IfcMeasureValue A select type for basic measure types of ISO 10303-41. IfcDerivedMeasureValue A select type for derived measure types.

HISTORY New type in IFC Release 2x.

typedef IfcUtil::IfcBaseClass IfcVectorOrDirection

Definition from ISO/CD 10303-42:1992: This type is used to identify the types of entity which can participate in vector computations.

NOTE Corresponding STEP type: vector_or_direction, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard.

HISTORY New Type in IFC Release 1.5

typedef IfcUtil::IfcBaseClass IfcWarpingStiffnessSelect

Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness.

HISTORY: New type in IFC 2x4.

Public Static Functions

const IfcParse::schema_definition &get_schema()

Public Static Attributes

const char *const Identifier
class IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType

IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. Usually measured in Gray (Gy, J/kg). Type: REAL

HISTORY New type in IFC Release 2x.

Public Functions

const IfcParse::type_declaration &declaration() const
IfcAbsorbedDoseMeasure(IfcEntityInstanceData *e)
IfcAbsorbedDoseMeasure(double v)
operator double() const

Public Static Functions

const IfcParse::type_declaration &Class()
class IfcAccelerationMeasure : public IfcUtil::IfcBaseType

IfcAccelerationMeasure is a measure of acceleration. Usually measured in m/s2. Type: REAL

HISTORY New type in IFC Release 2x.

Public Functions

const IfcParse::type_declaration &declaration() const
IfcAccelerationMeasure(IfcEntityInstanceData *e)
IfcAccelerationMeasure(double v)
operator double() const

Public Static Functions

const IfcParse::type_declaration &Class()
class IfcActionRequest : public Ifc4x3_rc1::IfcControl

A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work.

Requests may take many forms depending on the need including fault reports for maintenance, requests for small works, and purchase requests (where these are to be made through a help desk or buying function).

HISTORY: New entity in IFC2x2 IFC2x4 CHANGE RequestID renamed to Identification and promoted to supertype IfcControl, attributes PredefinedType, Status, and LongDescription added.

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Refer to the documentation at the supertype IfcControl and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_ActionRequest

Declaration Use Definition The IfcActionRequest may be declared within the project using the IfcRelDeclares relationship where RelatingContext refers to the single IfcProject and RelatedDefinitions contains the IfcActionRequest. Alternatively, if the IfcActionRequest is aggregated within an IfcWorkPlan, then it shall not have a direct declaration relationship (whereas the containing work plan may have a declaration relationship).

Composition Use Definition As shown in Figure 155, an IfcActionRequest may be aggregated into components using IfcRelAggregates where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more components. Aggregation use is defined for the following predefined types:

(All Types): May contain IfcCostSchedule components. A cost schedule may indicate costs and quantities where the cost schedule type may designate whether rates and/or quantities are estimated or final. Such cost schedule may have assigned cost items indicating detail, where each cost item may have assigned products, processes, or resources.

The IfcActionRequest may be nested into sub-items using IfcRelNests where RelatingObject refers to the enclosing IfcActionRequest and RelatedObjects contains one or more sub-items. Nesting use is defined for the following predefined types:

(All Types): May contain IfcActionRequest sub-items. A request may be nested into follow-up requests, in order of issue.

Figure 155 — Action request composition

Assignment Use Definition As shown in Figure 156, an IfcActionRequest may be assigned to the following entities using relationships as indicated:

IfcActor (IfcRelAssignsToActor): Person or organization issuing the request such as a tenant or owner.

The IfcActionRequest may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcActionRequest and RelatedObjects contains one or more objects of the following types: IfcActor: Person or organization(s) fulfilling the request such as a facilities manager or contractor.

Figure 156 — Action request assignment

Approval Use Definition Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

Public Types

typedef IfcTemplatedEntityList<IfcActionRequest> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcActionRequest.

::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value PredefinedType() const

Identifies the predefined type of sources through which a request can be made.

IFC2x4 CHANGE The attribute has been added.

void setPredefinedType(::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value v)
bool hasStatus() const

Whether the optional attribute Status is defined for this IfcActionRequest.

std::string Status() const

The status currently assigned to the request. Possible values include: Hold: wait to see if further requests are received before deciding on action NoAction: no action is required on this request Schedule: plan action to take place as part of maintenance or other task planning/scheduling Urgent: take action immediately

IFC2x4 CHANGE The attribute has been added.

void setStatus(std::string v)
bool hasLongDescription() const

Whether the optional attribute LongDescription is defined for this IfcActionRequest.

std::string LongDescription() const

Detailed description of the permit.

IFC2x4 CHANGE The attribute has been added.

void setLongDescription(std::string v)
const IfcParse::entity &declaration() const
IfcActionRequest(IfcEntityInstanceData *e)
IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, boost::optional<std::string> v6_Identification, boost::optional<::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value> v7_PredefinedType, boost::optional<std::string> v8_Status, boost::optional<std::string> v9_LongDescription)

Public Static Functions

const IfcParse::entity &Class()
struct IfcActionRequestTypeEnum

Public Types

enum Value

IfcActionRequestTypeEnum defines the types of sources through which a request can be made. HISTORY: New Enumeration in IFC2x4. Enumeration:

EMAIL: Request was made through email. FAX: Request was made through facsimile. PHONE: Request was made verbally over a telephone. POST: Request was made through postal mail. VERBAL: Request was made verbally in person.

USERDEFINED: User-defined type. NOTDEFINED: Undefined type.

Values:

enumerator IfcActionRequestType_EMAIL
enumerator IfcActionRequestType_FAX
enumerator IfcActionRequestType_PHONE
enumerator IfcActionRequestType_POST
enumerator IfcActionRequestType_VERBAL
enumerator IfcActionRequestType_USERDEFINED
enumerator IfcActionRequestType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
struct IfcActionSourceTypeEnum

Public Types

enum Value

Definition from IAI:This enumeration type contains possible action sources.

HISTORY: New type in Release IFC2x Edition 2.

Values:

enumerator IfcActionSourceType_DEAD_LOAD_G
enumerator IfcActionSourceType_COMPLETION_G1
enumerator IfcActionSourceType_LIVE_LOAD_Q
enumerator IfcActionSourceType_SNOW_S
enumerator IfcActionSourceType_WIND_W
enumerator IfcActionSourceType_PRESTRESSING_P
enumerator IfcActionSourceType_SETTLEMENT_U
enumerator IfcActionSourceType_TEMPERATURE_T
enumerator IfcActionSourceType_EARTHQUAKE_E
enumerator IfcActionSourceType_FIRE
enumerator IfcActionSourceType_IMPULSE
enumerator IfcActionSourceType_IMPACT
enumerator IfcActionSourceType_TRANSPORT
enumerator IfcActionSourceType_ERECTION
enumerator IfcActionSourceType_PROPPING
enumerator IfcActionSourceType_SYSTEM_IMPERFECTION
enumerator IfcActionSourceType_SHRINKAGE
enumerator IfcActionSourceType_CREEP
enumerator IfcActionSourceType_LACK_OF_FIT
enumerator IfcActionSourceType_BUOYANCY
enumerator IfcActionSourceType_ICE
enumerator IfcActionSourceType_CURRENT
enumerator IfcActionSourceType_WAVE
enumerator IfcActionSourceType_RAIN
enumerator IfcActionSourceType_BRAKES
enumerator IfcActionSourceType_USERDEFINED
enumerator IfcActionSourceType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
struct IfcActionTypeEnum

Public Types

enum Value

Definition from IAI: This enumeration type is used to distinguish between possible action types at a high level. It can be used for an automated definition of load combinations and for dimensioning. The contained items and their acronyms are adopted from the Eurocode standard.

HISTORY: New type in Release IFC2x Edition 2.

Values:

enumerator IfcActionType_PERMANENT_G
enumerator IfcActionType_VARIABLE_Q
enumerator IfcActionType_EXTRAORDINARY_A
enumerator IfcActionType_USERDEFINED
enumerator IfcActionType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcActor : public Ifc4x3_rc1::IfcObject

The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles.

HISTORY New Entity in IFC Release 2.0

Relationship use definition Actors are assigned (such as to a process or a resource) by the relationship object that refers to the corresponding object:

Process: assigned using IfcRelAssignsToProcess Resource: assigned using IfcRelAssignsToResource

Property set use definition The property sets relating to the IfcActor are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to IfcActor are part of this IFC release:

Pset_ActorCommon: common property set for all actor occurrences

Subclassed by Ifc4x3_rc1::IfcOccupant

Public Types

typedef IfcTemplatedEntityList<IfcActor> list

Public Functions

::Ifc4x3_rc1::IfcActorSelect *TheActor() const

Information about the actor.

void setTheActor(::Ifc4x3_rc1::IfcActorSelect *v)
IfcTemplatedEntityList<IfcRelAssignsToActor>::ptr IsActingUpon() const
const IfcParse::entity &declaration() const
IfcActor(IfcEntityInstanceData *e)
IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect *v6_TheActor)

Public Static Functions

const IfcParse::entity &Class()
class IfcActorRole : public IfcUtil::IfcBaseEntity

Definition: A role which is performed by an actor, either a person, an organization or a person related to an organization.

NOTE: The list of roles of the enumeration values of the Role attribute can never be complete. Therefore using enumeration value USERDEFINED, the user can provide his/her own role as a value of the attribute UserDefinedRole.

Corresponds to the following entity in ISO-10303-41: organization_role and person_role.

HISTORY New entity in IFC Release 1.5.1

Public Types

typedef IfcTemplatedEntityList<IfcActorRole> list

Public Functions

::Ifc4x3_rc1::IfcRoleEnum::Value Role() const

The name of the role played by an actor. If the Role has value USERDEFINED, then the user defined role shall be provided as a value of the attribute UserDefinedRole.

void setRole(::Ifc4x3_rc1::IfcRoleEnum::Value v)
bool hasUserDefinedRole() const

Whether the optional attribute UserDefinedRole is defined for this IfcActorRole.

std::string UserDefinedRole() const

Allows for specification of user defined roles beyond the enumeration values provided by Role attribute of type IfcRoleEnum. When a value is provided for attribute UserDefinedRole in parallel the attribute Role shall have enumeration value USERDEFINED.

void setUserDefinedRole(std::string v)
bool hasDescription() const

Whether the optional attribute Description is defined for this IfcActorRole.

std::string Description() const

A textual description relating the nature of the role played by an actor.

void setDescription(std::string v)
IfcTemplatedEntityList<IfcExternalReferenceRelationship>::ptr HasExternalReference() const
const IfcParse::entity &declaration() const
IfcActorRole(IfcEntityInstanceData *e)
IfcActorRole(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, boost::optional<std::string> v2_UserDefinedRole, boost::optional<std::string> v3_Description)

Public Static Functions

const IfcParse::entity &Class()
class IfcActuator : public Ifc4x3_rc1::IfcDistributionControlElement

An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion.

HISTORY New entity in IFC2x4

Type Use Definition IfcActuator defines the occurrence of any actuator; common information about actuator types is handled by IfcActuatorType. The IfcActuatorType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcActuatorType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcActuatorType has ports or aggregated elements, such objects are reflected at the IfcActuator occurrence using the IfcRelDefinesByObject relationship.

Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcActuatorType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcActuatorType.HasPropertySets. If both are given, then the properties directly defined at IfcActuator override the properties defined at IfcActuatorType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: (All Types)

Pset_ActuatorPHistory (PSET_PERFORMANCEDRIVEN) Pset_ActuatorTypeCommon (PSET_TYPEDRIVENOVERRIDE) Pset_ActuatorTypeLinearActuation (PSET_TYPEDRIVENOVERRIDE) Pset_ActuatorTypeRotationalActuation (PSET_TYPEDRIVENOVERRIDE)

ELECTRICACTUATOR

Pset_ActuatorTypeElectricActuator (PSET_TYPEDRIVENOVERRIDE)

HYDRAULICACTUATOR

Pset_ActuatorTypeHydraulicActuator (PSET_TYPEDRIVENOVERRIDE)

PNEUMATICACTUATOR

Pset_ActuatorTypePneumaticActuator (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_ActuatorBaseQuantities

Material Use Definition The material of the IfcActuator is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcActuatorType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Casing: Material from which the casing is constructed.

Connection Use Definition The IfcActuator may be connected to other objects as follows using the indicated relationship:

IfcFlowController (IfcRelFlowControlElements): Indicates a connected valve, damper, or switch controlled by the actuator.

Port Use Definition The distribution ports relating to the IfcActuator are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the actuator occurrence is defined by IfcActuatorType, then the port occurrences must reflect those defined at the IfcActuatorType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcActuator PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

Input (SIGNAL, SINK): Receives signal.

Public Types

typedef IfcTemplatedEntityList<IfcActuator> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcActuator.

::Ifc4x3_rc1::IfcActuatorTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcActuator(IfcEntityInstanceData *e)
IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x3_rc1::IfcActuatorTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcActuatorType : public Ifc4x3_rc1::IfcDistributionControlElementType

The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include:

common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types

It is used to define a actuator specification (i.e. the specific product information, that is common to all occurrences of that product type). Actuator types may be exchanged without being already assigned to occurrences. Occurrences of IfcActuatorType are represented by instances of IfcActuator.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity according to the PredefinedType attribute:

Pset_ActuatorTypeCommon Pset_ActuatorTypeElectricActuator (ELECTRICACTUATOR) Pset_ActuatorTypeHydraulicActuator (HYDRAULICACTUATOR) Pset_ActuatorTypeLinearActuation Pset_ActuatorTypePneumaticActuator (PNEUMATICACTUATOR) Pset_ActuatorTypeRotationalActuation

Material Use Definition The material of the IfcActuatorType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Casing’: Material from which the casing is constructed.

Port Use Definition The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions.

Public Types

typedef IfcTemplatedEntityList<IfcActuatorType> list

Public Functions

::Ifc4x3_rc1::IfcActuatorTypeEnum::Value PredefinedType() const

Identifies the predefined types of actuator from which the type required may be set.

void setPredefinedType(::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcActuatorType(IfcEntityInstanceData *e)
IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
struct IfcActuatorTypeEnum

Public Types

enum Value

The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified.

HISTORY: New type in IFC R2.0

Enumeration

ELECTRICACTUATOR: A device that electrically actuates a control element.

PNEUMATICACTUATOR<: A device that pneumatically actuates a control element

HYDRAULICACTUATOR: A device that electrically actuates a control element.

HANDOPERATEDACTUATOR: A device that manually actuates a control element. THERMOSTATICACTUATOR: A device that thermostatically actuates a control element. USERDEFINED: User-defined type. NOTDEFINED: Undefined type.

See property set of actuator common attributes for specification of properties for hand operated actuators.

Values:

enumerator IfcActuatorType_ELECTRICACTUATOR
enumerator IfcActuatorType_HANDOPERATEDACTUATOR
enumerator IfcActuatorType_HYDRAULICACTUATOR
enumerator IfcActuatorType_PNEUMATICACTUATOR
enumerator IfcActuatorType_THERMOSTATICACTUATOR
enumerator IfcActuatorType_USERDEFINED
enumerator IfcActuatorType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAddress : public IfcUtil::IfcBaseEntity

Definition: An abstract entity type for various kinds of postal and telecom addresses.

NOTE Corresponds to the following entity in ISO-10303-41: address.

HISTORY New entity in IFC Release 1.5.1.

Subclassed by Ifc4x3_rc1::IfcPostalAddress, Ifc4x3_rc1::IfcTelecomAddress

Public Types

typedef IfcTemplatedEntityList<IfcAddress> list

Public Functions

bool hasPurpose() const

Whether the optional attribute Purpose is defined for this IfcAddress.

::Ifc4x3_rc1::IfcAddressTypeEnum::Value Purpose() const

Identifies the logical location of the address.

void setPurpose(::Ifc4x3_rc1::IfcAddressTypeEnum::Value v)
bool hasDescription() const

Whether the optional attribute Description is defined for this IfcAddress.

std::string Description() const

Text that relates the nature of the address.

void setDescription(std::string v)
bool hasUserDefinedPurpose() const

Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress.

std::string UserDefinedPurpose() const

Allows for specification of user specific purpose of the address beyond the enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. When a value is provided for attribute UserDefinedPurpose, in parallel the attribute Purpose shall have enumeration value USERDEFINED.

void setUserDefinedPurpose(std::string v)
IfcTemplatedEntityList<IfcPerson>::ptr OfPerson() const
IfcTemplatedEntityList<IfcOrganization>::ptr OfOrganization() const
const IfcParse::entity &declaration() const
IfcAddress(IfcEntityInstanceData *e)
IfcAddress(boost::optional<::Ifc4x3_rc1::IfcAddressTypeEnum::Value> v1_Purpose, boost::optional<std::string> v2_Description, boost::optional<std::string> v3_UserDefinedPurpose)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAddressTypeEnum

Public Types

enum Value

Definition from IAI: Identifies the logical location of the address.

HISTORY New type in IFC Release 2x.

ENUMERATION

OFFICE An office address. SITE A site address. HOME A home address. DISTRIBUTIONPOINT A postal distribution point address. USERDEFINED A user defined address type to be provided.

Values:

enumerator IfcAddressType_OFFICE
enumerator IfcAddressType_SITE
enumerator IfcAddressType_HOME
enumerator IfcAddressType_DISTRIBUTIONPOINT
enumerator IfcAddressType_USERDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAdvancedBrep : public Ifc4x3_rc1::IfcManifoldSolidBrep

An advanced B-rep is a boundary representation model in which all faces, edges and vertices are explicitly represented. It is a solid with explicit topology and elementaty or free-form geometry. The faces of the B-rep are of type IfcAdvancedFace. An advanced B-rep has to meet the same topological constraints as the manifold solid B-rep. NOTE The advanced B-rep has been introduced in order to support the increasing number of applications that can define and exchange B-rep models based on NURBS or other b-spline surfaces.

NOTE Corresponding ISO 10303-42 entity: advanced_brep_shape_representation. Please refer to ISO/IS 10303-514:1999 for the final definition of the formal standard. There is no explicit entity in ISO 10303-42 for an advanced B-rep, the advanced_brep_shape_representation only ensures that only such kind of manifold B-rep’s are used in a shape representation.

HISTORY New entity in IFC2x4

Informal proposition:

each face is a face surface; each face surface has its geometry defined by an elementary surface, swept surface or a b-spline surface; the edges used to define the boundaries of the face shall all reference an edge curve each curve used to define the geometry of the faces and face bounds shall be either a conic, or a line or a polyline or a b-spline curve the edges used to define the face boundaries shall all be trimmed by vertices of type vertex point no loop used to define a face bound shall be of the oriented subtype

Figure 249 illustrates use of IfcAdvancedBrep for boundary representation models with b-spline surfaces. The diagram shows the topological and geometric representation items that are used for advanced B-reps, based on IfcAdvancedFace.

Figure 249 — Advanced Brep

Subclassed by Ifc4x3_rc1::IfcAdvancedBrepWithVoids

Public Types

typedef IfcTemplatedEntityList<IfcAdvancedBrep> list

Public Functions

const IfcParse::entity &declaration() const
IfcAdvancedBrep(IfcEntityInstanceData *e)
IfcAdvancedBrep(::Ifc4x3_rc1::IfcClosedShell *v1_Outer)

Public Static Functions

const IfcParse::entity &Class()
class IfcAdvancedBrepWithVoids : public Ifc4x3_rc1::IfcAdvancedBrep

The IfcAdvancedBrepWithVoids is a specialization of an advanced B-rep which contains one or more voids in its interior. The voids are represented as closed shells which are defined so that the shell normal point into the void.

NOTE Corresponding ISO 10303-42 entity: brep_with_voids (see note above). Please refer to ISO/IS 10303-42:1994, p. 173 for the final definition of the formal standard. In IFC advanced B-rep with voids is represented by this subtype IfcAdvancedBrepWithVoids and not defined via an implicit ANDOR supertype constraint as in ISO/IS 10303-42:1994 between an instance of manifold_solid_brep AND brep_with_voids. This change has been made due to the fact, that only ONEOF supertype constraint is allowed within the IFC object model.

HISTORY New entity in IFC2x4

Informal propositions:

Each void shell shall be disjoint from the outer shell and from every other void shell Each void shell shall be enclosed within the outer shell but not within any other void shell. In particular the outer shell is not in the set of void shells Each shell in the IfcManifoldSolidBrep shall be referenced only once. All the faces of all the shells in the IfcAdvancedBrep and the IfcAdvancedBrepWithVoids.Voids shall be of type IfcAdvancedFace.

Public Functions

IfcTemplatedEntityList<::Ifc4x3_rc1::IfcClosedShell>::ptr Voids() const
void setVoids(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcClosedShell>::ptr v)
const IfcParse::entity &declaration() const
IfcAdvancedBrepWithVoids(IfcEntityInstanceData *e)
IfcAdvancedBrepWithVoids(::Ifc4x3_rc1::IfcClosedShell *v1_Outer, IfcTemplatedEntityList<::Ifc4x3_rc1::IfcClosedShell>::ptr v2_Voids)

Public Static Functions

const IfcParse::entity &Class()
class IfcAdvancedFace : public Ifc4x3_rc1::IfcFaceSurface

An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices.

An IfcAdvancedFace is restricted to:

have a face surface geometry of type IfcElementarySurface, IfcSweptSurface or IfcBSplineSurface have at least on IfcFaceOuterBound as the bound of the face have all faces to be bound by IfcEdgeLoop or IfcVertexLoop have all edges to have an edge curve geometry have the edge curve geometry restricted to IfcLine, IfcConic, IfcPolyline, or IfcBSplineCurve

NOTE Corresponding ISO 10303 entity: advanced_face. Please refer to ISO/IS 10303-511:1999 for the final definition of the formal standard.

HISTORY New entity in IFC2x4

Public Types

typedef IfcTemplatedEntityList<IfcAdvancedFace> list

Public Functions

const IfcParse::entity &declaration() const
IfcAdvancedFace(IfcEntityInstanceData *e)
IfcAdvancedFace(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcFaceBound>::ptr v1_Bounds, ::Ifc4x3_rc1::IfcSurface *v2_FaceSurface, bool v3_SameSense)

Public Static Functions

const IfcParse::entity &Class()
class IfcAirTerminal : public Ifc4x3_rc1::IfcFlowTerminal

An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces.

HISTORY New entity in IFC2x4

Type Use Definition IfcAirTerminal defines the occurrence of any air terminal; common information about air terminal types is handled by IfcAirTerminalType. The IfcAirTerminalType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirTerminalType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirTerminalType has ports or aggregated elements, such objects are reflected at the IfcAirTerminal occurrence using the IfcRelDefinesByObject relationship. Figure 210 illustrates air terminal type use. Figure 210 — Air terminal type use

Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirTerminalType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirTerminalType.HasPropertySets. If both are given, then the properties directly defined at IfcAirTerminal override the properties defined at IfcAirTerminalType. Refer to the documentation at the supertype IfcFlowTerminal and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalOccurrence (PSET_OCCURRENCEDRIVEN) Pset_AirTerminalPHistory (PSET_PERFORMANCEDRIVEN) Pset_AirTerminalTypeCommon (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_AirTerminalBaseQuantities

Material Use Definition The material of the IfcAirTerminal is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirTerminalType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Body: The primary material from which the object is constructed.

Port Use Definition The distribution ports relating to the IfcAirTerminal are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air terminal occurrence is defined by IfcAirTerminalType, then the port occurrences must reflect those defined at the IfcAirTerminalType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirTerminal PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

DIFFUSER

Air (AIRCONDITIONING, SINK): Supply air, typically connected from a duct segment or fitting.

GRILLE

Air (VENTILATION, SOURCE): Return air, typically connected to a duct segment or fitting.

REGISTER

Air (AIRCONDITIONING, SINK): Supply air, typically connected from a duct segment or fitting.

Figure 211 illustrates air terminal port use. Figure 211 — Air terminal port use

Public Types

typedef IfcTemplatedEntityList<IfcAirTerminal> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAirTerminal.

::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirTerminal(IfcEntityInstanceData *e)
IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAirTerminalBox : public Ifc4x3_rc1::IfcFlowController

An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an “air flow regulator”.

HISTORY New entity in IFC2x4

Type Use Definition IfcAirTerminalBox defines the occurrence of any air terminal box; common information about air terminal box types is handled by IfcAirTerminalBoxType. The IfcAirTerminalBoxType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirTerminalBoxType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirTerminalBoxType has ports or aggregated elements, such objects are reflected at the IfcAirTerminalBox occurrence using the IfcRelDefinesByObject relationship.

Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirTerminalBoxType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirTerminalBoxType.HasPropertySets. If both are given, then the properties directly defined at IfcAirTerminalBox override the properties defined at IfcAirTerminalBoxType. Refer to the documentation at the supertype IfcFlowController and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalBoxPHistory (PSET_PERFORMANCEDRIVEN) Pset_AirTerminalBoxTypeCommon (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_AirTerminalBoxBaseQuantities

Material Use Definition The material of the IfcAirTerminalBox is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirTerminalBoxType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Body: The primary material from which the object is constructed.

Port Use Definition The distribution ports relating to the IfcAirTerminalBox are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air terminal box occurrence is defined by IfcAirTerminalBoxType, then the port occurrences must reflect those defined at the IfcAirTerminalBoxType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirTerminalBox PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

Inlet (AIRCONDITIONING, SINK): Incoming air. Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air.

Public Types

typedef IfcTemplatedEntityList<IfcAirTerminalBox> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAirTerminalBox.

::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirTerminalBox(IfcEntityInstanceData *e)
IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAirTerminalBoxType : public Ifc4x3_rc1::IfcFlowControllerType

The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include:

common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types

It is used to define a air box specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Box types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalBoxType are represented by instances of IfcAirTerminalBox.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowControllerType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalBoxTypeCommon

Material Use Definition The material of the IfcAirTerminalBoxType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Body’: The primary material from which the object is constructed.

Port Use Definition The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions.

Public Types

typedef IfcTemplatedEntityList<IfcAirTerminalBoxType> list

Public Functions

::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const

The air terminal box type.

void setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirTerminalBoxType(IfcEntityInstanceData *e)
IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAirTerminalBoxTypeEnum

Public Types

enum Value

This enumeration identifies different types of air terminal boxes.

Valid enumerations are:

CONSTANTFLOW: Terminal box does not include a means to reset the volume automatically to an outside signal such as thermostat. VARIABLEFLOWPRESSUREDEPENDANT: terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate depends on supply pressure. VARIABLEFLOWPRESSUREINDEPENDANT: terminal box includes a means to reset the volume automatically to a different control point in response to an outside signal such as thermostat: air-flow rate is independant of supply pressure. USERDEFINED: User-defined terminal box. NOTDEFINED: Undefined terminal box.

HISTORY: New enumeration in IFC R2.0

Values:

enumerator IfcAirTerminalBoxType_CONSTANTFLOW
enumerator IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT
enumerator IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT
enumerator IfcAirTerminalBoxType_USERDEFINED
enumerator IfcAirTerminalBoxType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAirTerminalType : public Ifc4x3_rc1::IfcFlowTerminalType

The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include:

common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types

It is used to define a air terminal specification (i.e. the specific product information, that is common to all occurrences of that product type). Air Terminal types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirTerminalType are represented by instances of IfcAirTerminal.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcFlowTerminalType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirTerminalTypeCommon

Material Use Definition The material of the IfcAirTerminalType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Body’: The primary material from which the object is constructed.

Port Use Definition The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions.

Public Types

typedef IfcTemplatedEntityList<IfcAirTerminalType> list

Public Functions

::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirTerminalType(IfcEntityInstanceData *e)
IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAirTerminalTypeEnum

Public Types

enum Value

Enumeration defining the functional types of air terminals. The IfcAirTerminalTypeEnum contains the following:

GRILLE: A covering for any area through which air passes. REGISTER: A grille typically equipped with a damper or control valve. DIFFUSER: An outlet discharging supply air in various directions and planes. LOUVRE: A rectilinear louvre. USERDEFINED: User-defined air terminal type. NOTDEFINED: Undefined air terminal type.

NOTE: Architectural louvres within doors or windows are defined by IfcPermeableCoveringProperties.

HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER

Values:

enumerator IfcAirTerminalType_DIFFUSER
enumerator IfcAirTerminalType_GRILLE
enumerator IfcAirTerminalType_LOUVRE
enumerator IfcAirTerminalType_REGISTER
enumerator IfcAirTerminalType_USERDEFINED
enumerator IfcAirTerminalType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAirToAirHeatRecovery : public Ifc4x3_rc1::IfcEnergyConversionDevice

An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements.

HISTORY New entity in IFC2x4

Type Use Definition IfcAirToAirHeatRecovery defines the occurrence of any air to air heat recovery; common information about air to air heat recovery types is handled by IfcAirToAirHeatRecoveryType. The IfcAirToAirHeatRecoveryType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAirToAirHeatRecoveryType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAirToAirHeatRecoveryType has ports or aggregated elements, such objects are reflected at the IfcAirToAirHeatRecovery occurrence using the IfcRelDefinesByObject relationship.

Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAirToAirHeatRecoveryType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAirToAirHeatRecoveryType.HasPropertySets. If both are given, then the properties directly defined at IfcAirToAirHeatRecovery override the properties defined at IfcAirToAirHeatRecoveryType. Refer to the documentation at the supertype IfcEnergyConversionDevice and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirToAirHeatRecoveryPHistory (PSET_PERFORMANCEDRIVEN) Pset_AirToAirHeatRecoveryTypeCommon (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_AirToAirHeatRecoveryBaseQuantities

Material Use Definition The material of the IfcAirToAirHeatRecovery is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAirToAirHeatRecoveryType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Body: The primary material from which the object is constructed. Media: The primary media material used for heat transfer.

Port Use Definition The distribution ports relating to the IfcAirToAirHeatRecovery are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the air to air heat recovery occurrence is defined by IfcAirToAirHeatRecoveryType, then the port occurrences must reflect those defined at the IfcAirToAirHeatRecoveryType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAirToAirHeatRecovery PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

AirInlet (AIRCONDITIONING, SINK): Cold air in. AirOutlet (AIRCONDITIONING, SOURCE): Colder air out. ExhaustInlet (VENTILATION, SINK): Hot return air in. ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out.

Public Types

typedef IfcTemplatedEntityList<IfcAirToAirHeatRecovery> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAirToAirHeatRecovery.

::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirToAirHeatRecovery(IfcEntityInstanceData *e)
IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAirToAirHeatRecoveryType : public Ifc4x3_rc1::IfcEnergyConversionDeviceType

The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include:

common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types

It is used to define a air-to-air heat recovery device specification (i.e. the specific product information, that is common to all occurrences of that product type). Air-To-Air Heat Recovery Device types may be exchanged without being already assigned to occurrences. Occurrences of IfcAirToAirHeatRecoveryType are represented by instances of IfcAirToAirHeatRecovery.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcEnergyConversionDeviceType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AirToAirHeatRecoveryTypeCommon

Material Use Definition The material of the IfcAirToAirHeatRecoveryType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Media’: The primary media material used for heat transfer.

Port Use Definition The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions.

Public Functions

::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const

Defines the type of air to air heat recovery device.

void setPredefinedType(::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAirToAirHeatRecoveryType(IfcEntityInstanceData *e)
IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAirToAirHeatRecoveryTypeEnum

Public Types

enum Value

Defines general types of pumps. The IfcPumpTypeEnum contains the following:

FIXEDPLATECOUNTERFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air enters at secondary air outlet location and exits at secondary air inlet location. FIXEDPLATECROSSFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with secondary air flow in the direction perpendicular to primary air flow. FIXEDPLATEPARALLELFLOWEXCHANGER: Heat exchanger with moving parts and alternate layers of plates, separated and sealed from the exhaust and supply air stream passages with primary air enters at secondary air inlet location and exits at secondary air outlet location. ROTARYWHEEL: A heat wheel with a revolving cylinder filled with an air-permeable medium having a large internal surface area. RUNAROUNDCOILLOOP: A typical coil energy recovery loop places extended surface, finned tube water coils in the supply and exhaust airstreams of a building. HEATPIPE: A passive energy recovery device with a heat pipe divided into evaporator and condenser sections. TWINTOWERENTHALPYRECOVERYLOOPS: An air-to-liquid, liquid-to-air enthalpy recovery system with a sorbent liquid circulates continuously between supply and exhaust airstreams, alternately contacting both airstreams directly in contactor towers. THERMOSIPHONSEALEDTUBEHEATEXCHANGERS: Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and the condenser are usually at opposite ends of a bundle of straight, individual thermosiphon tubes and the exhaust and supply ducts are adjacent to each other. THERMOSIPHONCOILTYPEHEATEXCHANGERS: Sealed systems that consist of an evaporator, a condenser, interconnecting piping, and an intermediate working fluid that is present in both liquid and vapor phases where the evaporator and condensor coils are installed independently in the ducts and are interconnected by the working fluid piping. USERDEFINED: User-defined air to air heat recovery type. NOTDEFINED: Undefined air to air heat recovery type.

HISTORY: New enumeration in IFC R2x.

Values:

enumerator IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER
enumerator IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER
enumerator IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER
enumerator IfcAirToAirHeatRecoveryType_ROTARYWHEEL
enumerator IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP
enumerator IfcAirToAirHeatRecoveryType_HEATPIPE
enumerator IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS
enumerator IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS
enumerator IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS
enumerator IfcAirToAirHeatRecoveryType_USERDEFINED
enumerator IfcAirToAirHeatRecoveryType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAlarm : public Ifc4x3_rc1::IfcDistributionControlElement

An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms.

HISTORY New entity in IFC2x4

Type Use Definition IfcAlarm defines the occurrence of any alarm; common information about alarm types is handled by IfcAlarmType. The IfcAlarmType (if present) may establish the common type name, usage (predefined type), properties, materials, ports, composition, assignments, and representations. The IfcAlarmType is attached using the IfcRelDefinesByType objectified relationship and is accessible by the IsTypedBy inverse attribute. If the IfcAlarmType has ports or aggregated elements, such objects are reflected at the IfcAlarm occurrence using the IfcRelDefinesByObject relationship.

Property Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Property sets may also be specified at the IfcAlarmType, defining the common property data for all occurrences of the same type. They are then accessible by the IsTypedBy inverse attribute pointing to IfcAlarmType.HasPropertySets. If both are given, then the properties directly defined at IfcAlarm override the properties defined at IfcAlarmType. Refer to the documentation at the supertype IfcDistributionControlElement and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AlarmPHistory (PSET_PERFORMANCEDRIVEN) Pset_AlarmTypeCommon (PSET_TYPEDRIVENOVERRIDE)

Quantity Use Definition The quantities relating to this entity are defined by IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. The following base quantities are defined and shall be exchanged with the IfcElementQuantity.Name = ‘BaseQuantities’. Other quantities, being subjected to local standard of measurement, may be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement shall be provided.

Qto_AlarmBaseQuantities

Material Use Definition The material of the IfcAlarm is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcAlarmType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

Casing: Material from which the casing is constructed.

Port Use Definition The distribution ports relating to the IfcAlarm are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. If the alarm occurrence is defined by IfcAlarmType, then the port occurrences must reflect those defined at the IfcAlarmType using the IfcRelDefinesByObject relationship. Ports are specific to the IfcAlarm PredefinedType as follows indicated by the IfcDistributionPort Name, PredefinedType, and FlowDirection:

Input (SIGNAL, SINK): Receives signal.

Public Types

typedef IfcTemplatedEntityList<IfcAlarm> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAlarm.

::Ifc4x3_rc1::IfcAlarmTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAlarm(IfcEntityInstanceData *e)
IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x3_rc1::IfcAlarmTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlarmType : public Ifc4x3_rc1::IfcDistributionControlElementType

The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include:

common properties with shared property sets common representations of shape common materials common composition of elements common ports applicable assignment of process types

It is used to define a alarm specification (i.e. the specific product information, that is common to all occurrences of that product type). Alarm types may be exchanged without being already assigned to occurrences. Occurrences of IfcAlarmType are represented by instances of IfcAlarm.

HISTORY: New entity in IFC2x2

Property Set Use Definition The property sets relating to this entity are defined by IfcPropertySet and attached by the HasPropertySets attribute. Refer to the documentation at the supertype IfcDistributionControlElementType and ancestors for inherited property set definitions. The following property set definitions are applicable to this entity: Pset_AlarmTypeCommon

Material Use Definition The material of the IfcAlarmType is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

‘Casing’: Material from which the casing is constructed.

Port Use Definition The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions.

Public Types

typedef IfcTemplatedEntityList<IfcAlarmType> list

Public Functions

::Ifc4x3_rc1::IfcAlarmTypeEnum::Value PredefinedType() const

Identifies the predefined types of alarm from which the type required may be set.

void setPredefinedType(::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAlarmType(IfcEntityInstanceData *e)
IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ApplicableOccurrence, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcPropertySetDefinition>::ptr> v6_HasPropertySets, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcRepresentationMap>::ptr> v7_RepresentationMaps, boost::optional<std::string> v8_Tag, boost::optional<std::string> v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAlarmTypeEnum

Public Types

enum Value

The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified.

HISTORY: New type in IFC 2x2

Enumeration

BELL: An audible alarm. BREAKGLASSBUTTON: An alarm activation mechanism in which a protective glass has to be broken to enable a button to be pressed. LIGHT: A visual alarm. MANUALPULLBOX: An alarm activation mechanism in which activation is achieved by a pulling action. SIREN: An audible alarm. WHISTLE: An audible alarm.

USERDEFINED: User-defined type. NOTDEFINED: Undefined type.

Values:

enumerator IfcAlarmType_BELL
enumerator IfcAlarmType_BREAKGLASSBUTTON
enumerator IfcAlarmType_LIGHT
enumerator IfcAlarmType_MANUALPULLBOX
enumerator IfcAlarmType_SIREN
enumerator IfcAlarmType_WHISTLE
enumerator IfcAlarmType_RAILWAYCROCODILE
enumerator IfcAlarmType_RAILWAYDETONATOR
enumerator IfcAlarmType_USERDEFINED
enumerator IfcAlarmType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAlignment : public Ifc4x3_rc1::IfcLinearPositioningElement

Public Types

typedef IfcTemplatedEntityList<IfcAlignment> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAlignment.

::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcAlignment(IfcEntityInstanceData *e)
IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, ::Ifc4x3_rc1::IfcCurve *v8_Axis, boost::optional<::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DCant : public Ifc4x3_rc1::IfcAxisLateralInclination

Public Types

typedef IfcTemplatedEntityList<IfcAlignment2DCant> list

Public Functions

IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DCantSegment>::ptr Segments() const
void setSegments(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DCantSegment>::ptr v)
double RailHeadDistance() const
void setRailHeadDistance(double v)
const IfcParse::entity &declaration() const
IfcAlignment2DCant(IfcEntityInstanceData *e)
IfcAlignment2DCant(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DCantSegment>::ptr v1_Segments, double v2_RailHeadDistance)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DCantSegLine : public Ifc4x3_rc1::IfcAlignment2DCantSegment

Public Functions

const IfcParse::entity &declaration() const
IfcAlignment2DCantSegLine(IfcEntityInstanceData *e)
IfcAlignment2DCantSegLine(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional<double> v7_EndCantLeft, double v8_StartCantRight, boost::optional<double> v9_EndCantRight)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DCantSegment : public Ifc4x3_rc1::IfcAlignment2DSegment

Subclassed by Ifc4x3_rc1::IfcAlignment2DCantSegLine, Ifc4x3_rc1::IfcAlignment2DCantSegTransition

Public Functions

double StartDistAlong() const
void setStartDistAlong(double v)
double HorizontalLength() const
void setHorizontalLength(double v)
double StartCantLeft() const
void setStartCantLeft(double v)
bool hasEndCantLeft() const

Whether the optional attribute EndCantLeft is defined for this IfcAlignment2DCantSegment.

double EndCantLeft() const
void setEndCantLeft(double v)
double StartCantRight() const
void setStartCantRight(double v)
bool hasEndCantRight() const

Whether the optional attribute EndCantRight is defined for this IfcAlignment2DCantSegment.

double EndCantRight() const
void setEndCantRight(double v)
IfcTemplatedEntityList<IfcAlignment2DCant>::ptr ToCant() const
const IfcParse::entity &declaration() const
IfcAlignment2DCantSegment(IfcEntityInstanceData *e)
IfcAlignment2DCantSegment(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional<double> v7_EndCantLeft, double v8_StartCantRight, boost::optional<double> v9_EndCantRight)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DCantSegTransition : public Ifc4x3_rc1::IfcAlignment2DCantSegment

Public Functions

bool hasStartRadius() const

Whether the optional attribute StartRadius is defined for this IfcAlignment2DCantSegTransition.

double StartRadius() const
void setStartRadius(double v)
bool hasEndRadius() const

Whether the optional attribute EndRadius is defined for this IfcAlignment2DCantSegTransition.

double EndRadius() const
void setEndRadius(double v)
bool IsStartRadiusCCW() const
void setIsStartRadiusCCW(bool v)
bool IsEndRadiusCCW() const
void setIsEndRadiusCCW(bool v)
::Ifc4x3_rc1::IfcTransitionCurveType::Value TransitionCurveType() const
void setTransitionCurveType(::Ifc4x3_rc1::IfcTransitionCurveType::Value v)
const IfcParse::entity &declaration() const
IfcAlignment2DCantSegTransition(IfcEntityInstanceData *e)
IfcAlignment2DCantSegTransition(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional<double> v7_EndCantLeft, double v8_StartCantRight, boost::optional<double> v9_EndCantRight, boost::optional<double> v10_StartRadius, boost::optional<double> v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DHorizontal : public Ifc4x3_rc1::IfcGeometricRepresentationItem

Public Functions

bool hasStartDistAlong() const

Whether the optional attribute StartDistAlong is defined for this IfcAlignment2DHorizontal.

double StartDistAlong() const
void setStartDistAlong(double v)
IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment>::ptr Segments() const
void setSegments(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment>::ptr v)
IfcTemplatedEntityList<IfcAlignmentCurve>::ptr ToAlignmentCurve() const
const IfcParse::entity &declaration() const
IfcAlignment2DHorizontal(IfcEntityInstanceData *e)
IfcAlignment2DHorizontal(boost::optional<double> v1_StartDistAlong, IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment>::ptr v2_Segments)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DHorizontalSegment : public Ifc4x3_rc1::IfcAlignment2DSegment

Public Functions

::Ifc4x3_rc1::IfcCurveSegment2D *CurveGeometry() const
void setCurveGeometry(::Ifc4x3_rc1::IfcCurveSegment2D *v)
IfcTemplatedEntityList<IfcAlignment2DHorizontal>::ptr ToHorizontal() const
const IfcParse::entity &declaration() const
IfcAlignment2DHorizontalSegment(IfcEntityInstanceData *e)
IfcAlignment2DHorizontalSegment(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D *v4_CurveGeometry)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DSegment : public Ifc4x3_rc1::IfcGeometricRepresentationItem

Subclassed by Ifc4x3_rc1::IfcAlignment2DCantSegment, Ifc4x3_rc1::IfcAlignment2DHorizontalSegment, Ifc4x3_rc1::IfcAlignment2DVerticalSegment

Public Types

typedef IfcTemplatedEntityList<IfcAlignment2DSegment> list

Public Functions

bool hasTangentialContinuity() const

Whether the optional attribute TangentialContinuity is defined for this IfcAlignment2DSegment.

bool TangentialContinuity() const
void setTangentialContinuity(bool v)
bool hasStartTag() const

Whether the optional attribute StartTag is defined for this IfcAlignment2DSegment.

std::string StartTag() const
void setStartTag(std::string v)
bool hasEndTag() const

Whether the optional attribute EndTag is defined for this IfcAlignment2DSegment.

std::string EndTag() const
void setEndTag(std::string v)
const IfcParse::entity &declaration() const
IfcAlignment2DSegment(IfcEntityInstanceData *e)
IfcAlignment2DSegment(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVerSegCircularArc : public Ifc4x3_rc1::IfcAlignment2DVerticalSegment

Public Functions

double Radius() const
void setRadius(double v)
bool IsConvex() const
void setIsConvex(bool v)
const IfcParse::entity &declaration() const
IfcAlignment2DVerSegCircularArc(IfcEntityInstanceData *e)
IfcAlignment2DVerSegCircularArc(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVerSegLine : public Ifc4x3_rc1::IfcAlignment2DVerticalSegment

Public Functions

const IfcParse::entity &declaration() const
IfcAlignment2DVerSegLine(IfcEntityInstanceData *e)
IfcAlignment2DVerSegLine(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVerSegParabolicArc : public Ifc4x3_rc1::IfcAlignment2DVerticalSegment

Public Functions

double ParabolaConstant() const
void setParabolaConstant(double v)
bool IsConvex() const
void setIsConvex(bool v)
const IfcParse::entity &declaration() const
IfcAlignment2DVerSegParabolicArc(IfcEntityInstanceData *e)
IfcAlignment2DVerSegParabolicArc(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVerSegTransition : public Ifc4x3_rc1::IfcAlignment2DVerticalSegment

Public Functions

bool hasStartRadius() const

Whether the optional attribute StartRadius is defined for this IfcAlignment2DVerSegTransition.

double StartRadius() const
void setStartRadius(double v)
bool hasEndRadius() const

Whether the optional attribute EndRadius is defined for this IfcAlignment2DVerSegTransition.

double EndRadius() const
void setEndRadius(double v)
bool IsStartRadiusCCW() const
void setIsStartRadiusCCW(bool v)
bool IsEndRadiusCCW() const
void setIsEndRadiusCCW(bool v)
::Ifc4x3_rc1::IfcTransitionCurveType::Value TransitionCurveType() const
void setTransitionCurveType(::Ifc4x3_rc1::IfcTransitionCurveType::Value v)
const IfcParse::entity &declaration() const
IfcAlignment2DVerSegTransition(IfcEntityInstanceData *e)
IfcAlignment2DVerSegTransition(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, boost::optional<double> v8_StartRadius, boost::optional<double> v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVertical : public Ifc4x3_rc1::IfcGeometricRepresentationItem

Public Types

typedef IfcTemplatedEntityList<IfcAlignment2DVertical> list

Public Functions

IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DVerticalSegment>::ptr Segments() const
void setSegments(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DVerticalSegment>::ptr v)
IfcTemplatedEntityList<IfcAlignmentCurve>::ptr ToAlignmentCurve() const
const IfcParse::entity &declaration() const
IfcAlignment2DVertical(IfcEntityInstanceData *e)
IfcAlignment2DVertical(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcAlignment2DVerticalSegment>::ptr v1_Segments)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignment2DVerticalSegment : public Ifc4x3_rc1::IfcAlignment2DSegment

Subclassed by Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc, Ifc4x3_rc1::IfcAlignment2DVerSegLine, Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc, Ifc4x3_rc1::IfcAlignment2DVerSegTransition

Public Functions

double StartDistAlong() const
void setStartDistAlong(double v)
double HorizontalLength() const
void setHorizontalLength(double v)
double StartHeight() const
void setStartHeight(double v)
double StartGradient() const
void setStartGradient(double v)
IfcTemplatedEntityList<IfcAlignment2DVertical>::ptr ToVertical() const
const IfcParse::entity &declaration() const
IfcAlignment2DVerticalSegment(IfcEntityInstanceData *e)
IfcAlignment2DVerticalSegment(boost::optional<bool> v1_TangentialContinuity, boost::optional<std::string> v2_StartTag, boost::optional<std::string> v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient)

Public Static Functions

const IfcParse::entity &Class()
class IfcAlignmentCurve : public Ifc4x3_rc1::IfcBoundedCurve

Public Types

typedef IfcTemplatedEntityList<IfcAlignmentCurve> list

Public Functions

::Ifc4x3_rc1::IfcAlignment2DHorizontal *Horizontal() const
void setHorizontal(::Ifc4x3_rc1::IfcAlignment2DHorizontal *v)
bool hasVertical() const

Whether the optional attribute Vertical is defined for this IfcAlignmentCurve.

::Ifc4x3_rc1::IfcAlignment2DVertical *Vertical() const
void setVertical(::Ifc4x3_rc1::IfcAlignment2DVertical *v)
bool hasTag() const

Whether the optional attribute Tag is defined for this IfcAlignmentCurve.

std::string Tag() const
void setTag(std::string v)
const IfcParse::entity &declaration() const
IfcAlignmentCurve(IfcEntityInstanceData *e)
IfcAlignmentCurve(::Ifc4x3_rc1::IfcAlignment2DHorizontal *v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical *v2_Vertical, boost::optional<std::string> v3_Tag)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAlignmentTypeEnum

Public Types

enum Value

Values:

enumerator IfcAlignmentType_USERDEFINED
enumerator IfcAlignmentType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType

Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12.

Usually measure in mole (mol). Type: REAL

NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard.

HISTORY New type in IFC Release 1.5.1.

Public Functions

const IfcParse::type_declaration &declaration() const
IfcAmountOfSubstanceMeasure(IfcEntityInstanceData *e)
IfcAmountOfSubstanceMeasure(double v)
operator double() const

Public Static Functions

const IfcParse::type_declaration &Class()
struct IfcAnalysisModelTypeEnum

Public Types

enum Value

Definition from IAI: This type definition is used to distinguish between different types of structural analysis models. The analysis models are differentiated by their dimensionality.

HISTORY: New type in Release IFC2x Edition 2.

Values:

enumerator IfcAnalysisModelType_IN_PLANE_LOADING_2D
enumerator IfcAnalysisModelType_OUT_PLANE_LOADING_2D
enumerator IfcAnalysisModelType_LOADING_3D
enumerator IfcAnalysisModelType_USERDEFINED
enumerator IfcAnalysisModelType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
struct IfcAnalysisTheoryTypeEnum

Public Types

enum Value

Definition from IAI: This type definition is used to distinguish between different types of structural analysis methods, i.e. first order theory, second order theory (small deformations), third order theory (large deformations) and the full nonlinear theory (geometric nonlinearity together with other nonlinearities, e.g. plasticity).

HISTORY: New type in Release IFC2x Edition 2.

Values:

enumerator IfcAnalysisTheoryType_FIRST_ORDER_THEORY
enumerator IfcAnalysisTheoryType_SECOND_ORDER_THEORY
enumerator IfcAnalysisTheoryType_THIRD_ORDER_THEORY
enumerator IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY
enumerator IfcAnalysisTheoryType_USERDEFINED
enumerator IfcAnalysisTheoryType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType

IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. Usually measured in radians/s. Type: REAL

HISTORY New type in IFC Release 2.0.

Public Functions

const IfcParse::type_declaration &declaration() const
IfcAngularVelocityMeasure(IfcEntityInstanceData *e)
IfcAngularVelocityMeasure(double v)
operator double() const

Public Static Functions

const IfcParse::type_declaration &Class()
class IfcAnnotation : public Ifc4x3_rc1::IfcProduct

Definition from IAI: An annotation is a graphical representation within the geometric (and spatial) context of a project, that adds a note or meaning to the objects which constitutes the project model. Annotations include additional line drawings, text, dimensioning, hatching and other forms of graphical notes.

NOTE Additional presentation information (often 2D) such as tag number, hatching, etc., that is directly related to a particular product representation is included within the IfcProductDefinitionShape having various IfcShapeRepresentation’s of the IfcElement (and its subtypes). Only those presentation information, that cannot be directly related to a single product, have to be wrapped within the IfcAnnotation.

If available, the annotation should be related to the spatial context of the project, by containing the annotation within the appropriate level of the building structure (site, building, storey, or space). This is handled by the IfcRelContainedInSpatialStructure relationship.

HISTORY: New entity in Release IFC2x Edition 2.

Use definition

The IfcAnnotation can provide specific 0D, 1D, and 2D geometric items as representation of the annotation, offering annotation point, curves, and surfaces.

‘Annotation point’ is an annotation provided by a point that has additional semantic. The inherited attribute ObjectType should be used to capture the type of point annotation, some predefined values are:

‘Survey’: A survey point has a set of cartesian coordinates determined by its location at point. These coordinates are determined relative to the coordinates of a reference point, which acts as the datum for the survey. The difference in elevation of the survey points enables terrain to be determined.

‘Annotation curve’ is an annotation provided by a curve that has additional semantic. The inherited attribute ObjectType should be used to capture the type of curve annotation, some predefined values are:

‘ContourLine’: A line of constant elevation typically used on geographic maps where the spacing of lines at constant intervals of elevation may be used as an indication of slope.

‘IsoBar’: A line of constant pressure typically used on weather maps or to show pressure gradient in spaces, chambers or externally.

‘IsoLux’: A line of constant illumination typically used to show the distribution of illumination levels and/or daylighting in a space or externally.

‘IsoTherm’: A line of constant temperature typically used to show the distribution and effect of heating or cooling within a space or to show temperature distribution on a geographic map.

‘Annotation surface’ is an annotation provided by a surface that has additional semantic. The inherited attribute ObjectType should be used to capture the type of surface annotation, some predefined values are:

‘SurveyArea’: A surface patch based on survey points.

Geometry Use Definitions

The geometric representation of any IfcAnnotation is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations.

Local Placement

The local placement for any IfcAnnotation is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.

If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representations

The standard representation of IfcAnnotation is defined using ‘Annotation2D’, when using 2D geometry, hatching and text, ‘GeometricCurveSet’ when using points and curves, or, when including als surfaces, the ‘GeometricSet’ geometry. Geometric representation items may be styled items by adding the style information.

Annotation2D Representation This representation is used, when the representation of the IfcAnnotation includes specific drafting representation elements. The Annotation may have:

subtypes of IfcPoint, IfcCurve being 2D

directly as Items, or within an IfcGeometricCurveSet

subtypes of IfcAnnotationFillArea for hatches

subtypes of IfcDefinedSymbol for symbols

subtypes of IfcTextLiteral for text

subtypes of IfcDraughtingCallout for dimensions

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘Annotation2D’

Annotation Curve Representation This representation is used, when the representation of the IfcAnnotation does not includes specific drafting representation elements. The Annotation may have:

subtypes of IfcPoint, IfcCurve being 2D

directly as Items, or within an IfcGeometricCurveSet

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘GeometricCurveSet’

Annotation Surface Representation This representation is used, when the representation of the IfcAnnotation does includes surfaces. The Annotation may have:

subtypes of IfcPoint, IfcCurve, or IfcSurface

directly as Items, or within an IfcGeometricCurveSet

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Annotation’

RepresentationType : ‘GeometricSet’

Public Types

typedef IfcTemplatedEntityList<IfcAnnotation> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcAnnotation.

::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value PredefinedType() const
void setPredefinedType(::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value v)
IfcTemplatedEntityList<IfcRelContainedInSpatialStructure>::ptr ContainedInStructure() const
const IfcParse::entity &declaration() const
IfcAnnotation(IfcEntityInstanceData *e)
IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value> v8_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()
class IfcAnnotationFillArea : public Ifc4x3_rc1::IfcGeometricRepresentationItem

Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area.

NOTE: A curve that is not surrounded by any other curve is a border between an unfilled area on the outside and a filled area on the inside. Another curve may surround an unfilled area if it is surrounded by another curve whose inside is a filled area.

Figure 300 (from ISO 10303-46) illustrates annotation fill area.

Figure 300 — Annotation fill area

NOTE Corresponding ISO 10303 name: annotation_fill_area. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.

The IfcAnnotationFillArea defines an area by a definite OuterBoundary, that might include InnerBoundaries. The areas defined by the InnerBoundaries are excluded from applying the fill area style.

Informal Proposition:

Any curve that describes an inner boundary shall not intersect with, nor include, another curve defining an inner boundary. The curve defining the outer boundary shall not intersect with any curve defining an inner boundary, nor shall it be surrounded by a curve defining an inner boundary.

HISTORY New entity in IFC2x2.

IFC2x3 CHANGE The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary.

Public Types

typedef IfcTemplatedEntityList<IfcAnnotationFillArea> list

Public Functions

::Ifc4x3_rc1::IfcCurve *OuterBoundary() const

A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style.

IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries.

void setOuterBoundary(::Ifc4x3_rc1::IfcCurve *v)
bool hasInnerBoundaries() const

Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea.

IfcTemplatedEntityList<::Ifc4x3_rc1::IfcCurve>::ptr InnerBoundaries() const

A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style.

IFC2x Edition 3 CHANGE The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries.

void setInnerBoundaries(IfcTemplatedEntityList<::Ifc4x3_rc1::IfcCurve>::ptr v)
const IfcParse::entity &declaration() const
IfcAnnotationFillArea(IfcEntityInstanceData *e)
IfcAnnotationFillArea(::Ifc4x3_rc1::IfcCurve *v1_OuterBoundary, boost::optional<IfcTemplatedEntityList<::Ifc4x3_rc1::IfcCurve>::ptr> v2_InnerBoundaries)

Public Static Functions

const IfcParse::entity &Class()
struct IfcAnnotationTypeEnum

Public Types

enum Value

Values:

enumerator IfcAnnotationType_ASSUMEDPOINT
enumerator IfcAnnotationType_ASBUILTAREA
enumerator IfcAnnotationType_ASBUILTLINE
enumerator IfcAnnotationType_NON_PHYSICAL_SIGNAL
enumerator IfcAnnotationType_ASSUMEDLINE
enumerator IfcAnnotationType_WIDTHEVENT
enumerator IfcAnnotationType_ASSUMEDAREA
enumerator IfcAnnotationType_SUPERELEVATIONEVENT
enumerator IfcAnnotationType_ASBUILTPOINT
enumerator IfcAnnotationType_USERDEFINED
enumerator IfcAnnotationType_NOTDEFINED

Public Static Functions

IFC_PARSE_API const char *ToString(Value v)
IFC_PARSE_API Value FromString(const std::string &s)
class IfcApplication : public IfcUtil::IfcBaseEntity

IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer.

HISTORY New entity in IFC R1.5.

Public Types

typedef IfcTemplatedEntityList<IfcApplication> list

Public Functions

::Ifc4x3_rc1::IfcOrganization *ApplicationDeveloper() const

Name of the application developer, being requested to be member of the IAI.

void setApplicationDeveloper(::Ifc4x3_rc1::IfcOrganization *v)
std::string Version() const

The version number of this software as specified by the developer of the application.

void setVersion(std::string v)
std::string ApplicationFullName() const

The full name of the application as specified by the application developer.

void setApplicationFullName(std::string v)
std::string ApplicationIdentifier() const

Short identifying name for the application.

void setApplicationIdentifier(std::string v)
const IfcParse::entity &declaration() const
IfcApplication(IfcEntityInstanceData *e)
IfcApplication(::Ifc4x3_rc1::IfcOrganization *v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier)

Public Static Functions

const IfcParse::entity &Class()
class IfcAppliedValue : public IfcUtil::IfcBaseEntity

IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values.

HISTORY: New Entity in IFC2x2. Modifed in IFC2x4 to use IfcDate for date values.

Use definitions The extent of the IfcAppliedValue is determined by the AppliedValue attribute which may be defined either as an IfcMeasureWithUnit or as an IfcMonetaryMeasure or as an IfcRatioMeasure via the IfcAppliedValueSelect type.

Optionally, an IfcAppliedValue may have an applicable date. This is intended to fix the date on which the value became relevant for use. It may be the date on which the value was set in the model or it may be a prior or future date when the value becomes operable.

Similarly, an IfcAppliedValue may have a ‘fixed until’ date. This is intended to fix the date on which the value ceases to be relevant for use.

An instance of IfcAppliedValue may have a unit basis asserted. This is defined as an IfcMeasureWithUnit that determines the extent of the unit value for application purposes. It is assumed that when this attribute is asserted, then the value given to IfcAppliedValue is that for unit quantity. This is not enforced within the IFC schema and thus needs to be controlled within an application.

Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects.

Subclassed by Ifc4x3_rc1::IfcCostValue

Public Types

typedef IfcTemplatedEntityList<IfcAppliedValue> list

Public Functions

bool hasName() const

Whether the optional attribute Name is defined for this IfcAppliedValue.

std::string Name() const

A name or additional clarification given to a cost value.

void setName(std::string v)
bool hasDescription() const

Whether the optional attribute Description is defined for this IfcAppliedValue.

std::string Description() const

The description that may apply additional information about a cost value.

void setDescription(std::string v)
bool hasAppliedValue() const

Whether the optional attribute AppliedValue is defined for this IfcAppliedValue.

::Ifc4x3_rc1::IfcAppliedValueSelect *AppliedValue() const

The extent or quantity or amount of an applied value.

void setAppliedValue(::Ifc4x3_rc1::IfcAppliedValueSelect *v)
bool hasUnitBasis() const

Whether the optional attribute UnitBasis is defined for this IfcAppliedValue.

::Ifc4x3_rc1::IfcMeasureWithUnit *UnitBasis() const

The number and unit of measure on which the unit cost is based.

Note: As well as the normally expected units of measure such as length, area, volume etc., costs may be based on units of measure which need to be defined e.g. sack, drum, pallet, item etc. Unit costs may be based on quantities greater (or lesser) than a unitary value of the basis measure. For instance, timber may have a unit cost rate per X meters where X > 1; similarly for cable, piping and many other items. The basis number may be either an integer or a real value.

Note: This attribute should be asserted for all circumstances where the cost to be applied is per unit quantity. It may be asserted even for circumstances where an item price is used, in which case the unit cost basis should be by item (or equivalent definition).

void setUnitBasis(::Ifc4x3_rc1::IfcMeasureWithUnit *v)
bool hasApplicableDate() const

Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue.

std::string ApplicableDate() const

The date on or from which an applied value is applicable.

IFC2x4 CHANGE Type changed from IfcDateTimeSelect.

void setApplicableDate(std::string v)
bool hasFixedUntilDate() const

Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue.

std::string FixedUntilDate() const

The date until which applied value is applicable.

IFC2x4 CHANGE Type changed from IfcDateTimeSelect.

void setFixedUntilDate(std::string v)
bool hasCategory() const

Whether the optional attribute Category is defined for this IfcAppliedValue.

std::string Category() const
void setCategory(std::string v)