Class Ifc4::IfcRailing

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcRailing : public Ifc4::IfcBuildingElement

Definition of IAI: The railing is a frame assembly adjacent to human circulation spaces and at some space boundaries where it is used in lieu of walls or to compliment walls. Designed to aid humans, either as an optional physical support, or to prevent injury by falling. HISTORY New Entity in IFC Release 2.0 Type Use Definition IfcRailing defines the occuurence of any railing, common information about railing types (or styles) is handled by IfcRailingType. The IfcRailingType (if present) may establish the commontype name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcRailingType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. Material Use Definition The material of the IfcRailing is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Material information can also be given at the IfcRailingType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsDefinedBy relationship pointing to IfcRailingType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcRailing overrides the material assigned to IfcRailingType. Property Set Use Definition The property sets relating to the IfcRailing are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcRailing are part of this IFC release:

Pset_RailingCommon: common property set for all railing occurrences

Quantity Use Definition The quantities relating to the IfcRailing are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.MethodOfMeasurement = ‘BaseQuantities’. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to MethodOfMeasurement.

Qto_RailingBaseQuantities: base quantities for all railing occurrences.

Containment Use Definition The IfcRailing, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierachical spatial containment, the second (optional) relationship is the aggregation within anelement assembly.

The IfcRailing is places within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, refering to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes ofIfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container. The IfcRailing may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcStair, or IfcRamp as a special focus subtypes. In this case it should not be additionally contained in the project spatial hierarchy, i.e.SELF\IfcElement.ContainedInStructure should be NIL.

Geometry Use Definition The geometric representation of IfcRailing is given by the IfcProductDefinitionShape, allowing multiple geometric representations. Included are: Local placement The local placement for IfcRailing 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 same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level If the IfcRailing, however, is used by an IfcStair or IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of IfcStair or IfcRamp. If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representation Currently, the ‘Axis’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement. Axis Representation The axis geometric representation of IfcRailing is defined using the ‘Axis’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’, ‘Curve3D’

Body Representation Currently the use of ‘SurfaceModel’, ‘Brep’ and ‘MappedRepresentation’ representations of IfcRailing are supported. The conventions to use these representations are given at the level of the supertype, IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcRailing.

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SurfaceModel’, ‘Brep’, ‘MappedRepresentation’

Public Types

typedef IfcTemplatedEntityList<IfcRailing> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcRailing.

::Ifc4::IfcRailingTypeEnum::Value PredefinedType() const

Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. IFC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute.

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

Public Static Functions

const IfcParse::entity &Class()