Class Ifc4x1::IfcMaterialLayer¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcMaterialDefinition
(Class Ifc4x1::IfcMaterialDefinition)
Derived Type¶
public Ifc4x1::IfcMaterialLayerWithOffsets
(Class Ifc4x1::IfcMaterialLayerWithOffsets)
Class Documentation¶
-
class
Ifc4x1
::
IfcMaterialLayer
: public Ifc4x1::IfcMaterialDefinition¶ IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase.
EXAMPLE A cavity wall with brick masonry used with an air gap in between would be modeled using three IfcMaterialLayer’s: [1] Brick, [2] Air gap, [3] Brick. The inner layer “Brick” would have a Name = “Brick”, an individual LayerThickness, and potentially a Category indicating it as “load bearing”, and a Priority that controls how this material layer interacts with other material layers in wall connections.
The IfcMaterialLayer may have a material layer name, that might be different to the IfcMaterial name referenced.
EXAMPLE The IfcMaterialLayer name of an insulation layer can be “Insulation”, whereas the IfcMaterial
name is “polystyrene insulating
boards”.
HISTORY New entity in IFC 1.5
IFC2x4 CHANGE The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure.
Subclassed by Ifc4x1::IfcMaterialLayerWithOffsets
Public Types
-
typedef IfcTemplatedEntityList<IfcMaterialLayer>
list
¶
Public Functions
-
bool
hasMaterial
() const¶ Whether the optional attribute Material is defined for this IfcMaterialLayer.
-
::Ifc4x1::IfcMaterial *
Material
() const¶ Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point.
-
void
setMaterial
(::Ifc4x1::IfcMaterial *v)¶
-
double
LayerThickness
() const¶ The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage.
NOTE The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation.
IFC2x4 CHANGE The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness.
-
void
setLayerThickness
(double v)¶
-
bool
hasIsVentilated
() const¶ Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer.
-
bool
IsVentilated
() const¶ Indication of whether the material layer represents an air layer (or cavity).
set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). set to FALSE if the material layer is a solid material layer (the default).
-
void
setIsVentilated
(bool v)¶
-
bool
hasName
() const¶ Whether the optional attribute Name is defined for this IfcMaterialLayer.
-
std::string
Name
() const¶ The name by which the material layer is known.
-
void
setName
(std::string v)¶
-
bool
hasDescription
() const¶ Whether the optional attribute Description is defined for this IfcMaterialLayer.
-
std::string
Description
() const¶ Definition of the material layer in more descriptive terms than given by attributes Name or Category.
-
void
setDescription
(std::string v)¶
-
bool
hasCategory
() const¶ Whether the optional attribute Category is defined for this IfcMaterialLayer.
-
std::string
Category
() const¶ Category of the material layer, e.g. the role it has in the layer set it belongs to (such as ‘load bearing’, ‘thermal insulation’ etc.).
-
void
setCategory
(std::string v)¶
-
bool
hasPriority
() const¶ Whether the optional attribute Priority is defined for this IfcMaterialLayer.
-
int
Priority
() const¶ The relative priority of the layer, expressed as ratio measure, normalised to 0..1. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element’s layer has higher priority than the latter. The priorty value for a material layer in an element has to be set and maintained by software applications, in relation to the material layers in connected elements. The usage has to be further specified for each element, especially to avoid simultanious use with IfcLayerOffset.
-
void
setPriority
(int v)¶
-
IfcTemplatedEntityList<IfcMaterialLayerSet>::ptr
ToMaterialLayerSet
() const¶
-
IfcMaterialLayer
(IfcEntityInstanceData *e)¶
-
IfcMaterialLayer
(::Ifc4x1::IfcMaterial *v1_Material, double v2_LayerThickness, boost::optional<bool> v3_IsVentilated, boost::optional<std::string> v4_Name, boost::optional<std::string> v5_Description, boost::optional<std::string> v6_Category, boost::optional<int> v7_Priority)¶
-
typedef IfcTemplatedEntityList<IfcMaterialLayer>