Class Ifc4::IfcSlabType

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcSlabType : public Ifc4::IfcBuildingElementType

The element type IfcSlabType defines commonly shared information for occurrences of slabs. The set of shared information may include:

common properties within shared property sets common material information common material layer definitions common shape representations

NOTE It is illegal to share shape representations as representation maps for occurrences of IfcSlabStandardCase.

It is used to define a slab specification (i.e. the specific product information, that is common to all occurrences of that product type). Slab types may be exchanged without being already assigned to occurrences. NOTE The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which gets assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. The occurrences of the IfcSlabType within building models are represented by instances of IfcSlabStandardCase if the IfcSlabType has a single associated IfcMaterialLayerSet; otherwise they are represented by instances of IfcSlab, or IfcSlabElementedCase.

HISTORY New entity in Release IFC2x2.

Informal proposition:

The material assignment, if provided using the IfcRelAssociatesMaterial relationship, shall not reference the IfcMaterialLayerSetUsage.

Material Use Definition The material of the IfcSlabType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Note: It is illegal to assign an IfcMaterial to an IfcSlabType, if there is at least one occurrences. of IfcSlabStandardCase for this type. Layer Set Use Definition: The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterial that is the common for all slab occurrence, if used. It is only applicable if the IfcSlabType has only occurrences of type IfcSlabStandardCase (see definition of IfcSlabStandardCase for further information). NOTE Since each individual instance of IfcSlabStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the reference plane, the same IfcSlabType can be used independently of the reference plane alignment of its occurrences. Property Set Use Definition: The shared property sets relating to the IfcSlabType are defined by the IfcPropertySet and are attached by the HasPropertySets attribute. The following property set definitions specific to the IfcWallType are part of this IFC release: NOTE There is no differentiation between properties within the property set that are only assignable to IfcSlabType and those that are only assignable to IfcSlab. If the same property is assigned to the IfcSlabType and the IfcSlab being an occurrence of the IfcSlabType, then the occurrence property overrides the type property.

Pset_SlabCommon: common property set for all slab types.

Public Types

typedef IfcTemplatedEntityList<IfcSlabType> list

Public Functions

::Ifc4::IfcSlabTypeEnum::Value PredefinedType() const

Identifies the predefined types of a slab element from which the type required may be set.

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

Public Static Functions

const IfcParse::entity &Class()