Class Ifc4x2::IfcMaterial

Nested Relationships

This class is a nested type of Struct Ifc4x2.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x2::IfcMaterial : public Ifc4x2::IfcMaterialDefinition

IfcMaterial is a homogeneous or inhomogeneous substance that can be used to form elements (physical products or their components). IfcMaterial is the basic entity for material designation and definition; this includes identification by name and classification (via reference to an external classification), as well as association of material properties (isotropic or anisotropic) defined by (subtypes of) IfcMaterialProperties. An instance of IfcMaterial may be associated to an element or element type using the IfcRelAssociatesMaterial relationship. The assignment might either be direct as a single material information, or via

a material layer set a material profile set a material constituent set

An IfcMaterial may also have presentation information associated. Such presentation information is provided by IfcMaterialDefinitionRepresentation, associating line styles, hatching definitions or surface coloring/rendering information to a material.

HISTORYNew entity in IFC2x4

IFC2x4 CHANGE The attributes Description and Category have been added.

Public Types

typedef IfcTemplatedEntityList<IfcMaterial> list

Public Functions

std::string Name() const

Name of the material.

EXAMPLE A view definition may require Material.Name to uniquely specify e.g. concrete or steel grade, in which case the attribute Material.Category could take the value ‘Concrete’ or ‘Steel’.

NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences.

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

Whether the optional attribute Description is defined for this IfcMaterial.

std::string Description() const

Definition of the material in more descriptive terms than given by attributes Name or Category.

IFC2x4 CHANGE The attribute has been added at the end of attribute list.

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

Whether the optional attribute Category is defined for this IfcMaterial.

std::string Category() const

Definition of the category (group or type) of material, in more general terms than given by attribute Name.

EXAMPLE A view definition may require each Material.Name to be unique, e.g. for each concrete or steel grade used in a project, in which case Material.Category could take the values ‘Concrete’ or ‘Steel’.

IFC2x4 CHANGE The attribute has been added at the end of attribute list.

void setCategory(std::string v)
IfcTemplatedEntityList<IfcMaterialDefinitionRepresentation>::ptr HasRepresentation() const
IfcTemplatedEntityList<IfcMaterialRelationship>::ptr IsRelatedWith() const
IfcTemplatedEntityList<IfcMaterialRelationship>::ptr RelatesTo() const
const IfcParse::entity &declaration() const
IfcMaterial(IfcEntityInstanceData *e)
IfcMaterial(std::string v1_Name, boost::optional<std::string> v2_Description, boost::optional<std::string> v3_Category)

Public Static Functions

const IfcParse::entity &Class()