Class Ifc4::IfcClassification¶
Defined in File Ifc4.h
Nested Relationships¶
This class is a nested type of Struct Ifc4.
Inheritance Relationships¶
Base Type¶
public Ifc4::IfcExternalInformation
(Class Ifc4::IfcExternalInformation)
Class Documentation¶
-
class
Ifc4
::
IfcClassification
: public Ifc4::IfcExternalInformation¶ An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an classification are organized in a tree structure.
HISTORY New class in IFC Release 1.5. Modified in IFC 2x.
IFC 2x4 CHANGE Attribute Edition made optional. Attributes: PublicationLocation, Description and ReferenceTokens added. Inverse attribute HasClassificationReferences added.
Classification use definitions IfcClassification identifies the classification system or source from which a classification notation is derived. Each classification reference or classification item, belonging to a single classification system, shall reference a single instance of IfcClassification. Therefore, each particular classification system or source used should have only one IfcClassification instance. However, because multiple classification is allowed, there may be many IfcClassification objects used, each identifying a different classification system or source.
A classification system declared may be either formally published (such as Omniclass, Uniclass, Masterformat, or DIN) or it may be a locally defined method of classifiying information. There are two methods to define a classification system within an IFC dataset:
Including the classification system structure within the dataset: Here a hierarchical tree of IfcClassificationItem’s is included that defines the classification system including the relationship between the classification items. An IfcClassificationNotation is used to classify an object. Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object.
Public Types
-
typedef IfcTemplatedEntityList<IfcClassification>
list
¶
Public Functions
-
bool
hasSource
() const¶ Whether the optional attribute Source is defined for this IfcClassification.
-
std::string
Source
() const¶ Source (or publisher) for this classification.
NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher.
-
void
setSource
(std::string v)¶
-
bool
hasEdition
() const¶ Whether the optional attribute Edition is defined for this IfcClassification.
-
std::string
Edition
() const¶ The edition or version of the classification system from which the classification notation is derived.
NOTE the version labeling system is specific to the classification system.
IFC2x4 CHANGE The attribute has been changed to be optional.
-
void
setEdition
(std::string v)¶
-
bool
hasEditionDate
() const¶ Whether the optional attribute EditionDate is defined for this IfcClassification.
-
std::string
EditionDate
() const¶ The date on which the edition of the classification used became valid.
NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required.
IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601.
-
void
setEditionDate
(std::string v)¶
-
std::string
Name
() const¶ The name or label by which the classification used is normally known.
NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc.
-
void
setName
(std::string v)¶
-
bool
hasDescription
() const¶ Whether the optional attribute Description is defined for this IfcClassification.
-
std::string
Description
() const¶ Additional description provided for the classification.
IFC2x4 CHANGE New attribute added at the end of the attribute list.
-
void
setDescription
(std::string v)¶
-
bool
hasLocation
() const¶ Whether the optional attribute Location is defined for this IfcClassification.
-
std::string
Location
() const¶ Resource identifier or locator, provided as URI, URN or URL, of the classification.
IFC2x4 CHANGE New attribute added at the end of the attribute list.
-
void
setLocation
(std::string v)¶
-
bool
hasReferenceTokens
() const¶ Whether the optional attribute ReferenceTokens is defined for this IfcClassification.
-
std::vector<std::string>
ReferenceTokens
() const¶ The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference.
This typically applies then the IfcClassification is used in conjuction with IfcClassificationReference’s. If only one ReferenceToken is provided, it applies to all boundaries of individual facets, if more than one ReferenceToken are provided, the first token applies to the first boundary, the second token to the second boundary, and the nth token to the nth and any additional boundary.
NOTE Tokens are typically recommended within the classification itself and each token will have a particular role.
EXAMPLE 1 To indicate that the facet delimiter used for DIN277-2 reference key “2.1” (“Office rooms”) is “.”, a single ReferenceToken [‘.’] is provided. To indicate that the facet delimiter used for Omniclass Table 13 (space by function) reference key “13-15 11 34 11” (“Office”) are “-” and ” “, two ReferenceToken’s [‘-‘, ‘ ‘] are provided.
EXAMPLE 2 The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a “mask syntax” that should be used.
IFC2x4 CHANGE New attribute added at the end of the attribute list.
-
void
setReferenceTokens
(std::vector<std::string> v)¶
-
IfcTemplatedEntityList<IfcRelAssociatesClassification>::ptr
ClassificationForObjects
() const¶
-
IfcTemplatedEntityList<IfcClassificationReference>::ptr
HasReferences
() const¶
-
IfcClassification
(IfcEntityInstanceData *e)¶
-
IfcClassification
(boost::optional<std::string> v1_Source, boost::optional<std::string> v2_Edition, boost::optional<std::string> v3_EditionDate, std::string v4_Name, boost::optional<std::string> v5_Description, boost::optional<std::string> v6_Location, boost::optional<std::vector<std::string>> v7_ReferenceTokens)¶
-
typedef IfcTemplatedEntityList<IfcClassification>