Class TIfcPerson

Unit

Declaration

type TIfcPerson = class(TIfcPersistent)

Description

Individual human being.

Spec: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcPerson.htm

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1369).

Hierarchy

Show Additional Members:

Overview

Methods

Protected function WantsGlobalId: Boolean; virtual;
Protected class function IfcClassName: String; virtual;
Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;

Properties

Published property GlobalId: String read FGlobalId write FGlobalId;
Published property Identification: TIfcIdentifier read FIdentification write FIdentification;
Published property FamilyName: TIfcLabel read FFamilyName write FFamilyName;
Published property GivenName: TIfcLabel read FGivenName write FGivenName;
Published property MiddleNames: TCastleStringList read FMiddleNames;
Published property PrefixTitles: TCastleStringList read FPrefixTitles;
Published property SuffixTitles: TCastleStringList read FSuffixTitles;
Published property Roles: TIfcActorRoleList read FRoles;
Published property Addresses: TIfcAddressList read FAddresses;
Published property EngagedIn: TIfcPersonAndOrganizationList read FEngagedIn;

Description

Methods

Protected function WantsGlobalId: Boolean; virtual;

This item is declared in ancestor TIfcPersistent.

If True, instances of this class will have GlobalId auto-assigned at saving, and they will be saved as part of the "data" list in IFC JSON files.

Strictly following the spec, this should be only defined for TIfcRoot, because only IfcRoot has GlobalId. In reality, we need GlobalId at TIfcPersistent to load some files, and we sometimes need WantsGlobalId = True to save some files.

Source: scene/load/ifc/castleifc_ifc_types.inc (line 52).

Protected class function IfcClassName: String; virtual;

This item is declared in ancestor TIfcPersistent.

Name for the IFC standard, used in IFC files. By default, this is just ClassName with prefix 'T' removed.

Source: scene/load/ifc/castleifc_ifc_types.inc (line 56).

Public constructor Create(AOwner: TComponent); override;

This item has no description.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1381).

Public destructor Destroy; override;

This item has no description.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1382).

Properties

Published property GlobalId: String read FGlobalId write FGlobalId;

This item is declared in ancestor TIfcPersistent.

Globally unique identifier for the object instance.

Note: Not declared as TGUID, because TGUID cannot be published, but also we don't really need it: for our purposes, this identifier is just an arbitrary string.

Note: IFC 4.3 specification puts this only at IfcRoot, not at every IFC class. But testcase https://github.com/buildingsmart-community/Community-Sample-Test-Files/blob/main/IFC%204.0.2.1%20(IFC%204)/ISO%20Spec%20archive/wall-with-opening-and-window.json (from IFC 4.0) shows this can be present at any IFC class, in particular TIfcGeometricRepresentationContext.

In fact, TIfcGeometricRepresentationContext needs to have GlobalId to be successfully saved (avoid recursively trying to serialize it) in some cases. We indicate such classes with WantsGlobalId.

IFC JSON documentation says this, which seems to (unfortunately it is not unambiguous enough...) allow this at any IFC class: "Whereas the globalId attribute is only available to those elements that are descendent of the IfcRoot entity in the EXPRESS schema, we encourage a broader use of this globalId, to enable referencing between objects in a JSON file when useful.".

Source: scene/load/ifc/castleifc_ifc_types.inc (line 79).

Published property Identification: TIfcIdentifier read FIdentification write FIdentification;

Identification of the person.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1385).

Published property FamilyName: TIfcLabel read FFamilyName write FFamilyName;

The name by which the family identity of the person may be recognized.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1388).

Published property GivenName: TIfcLabel read FGivenName write FGivenName;

The name by which a person is known within a family.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1391).

Published property MiddleNames: TCastleStringList read FMiddleNames;

Additional names given to a person.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1394).

Published property PrefixTitles: TCastleStringList read FPrefixTitles;

The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1398).

Published property SuffixTitles: TCastleStringList read FSuffixTitles;

The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1402).

Published property Roles: TIfcActorRoleList read FRoles;

Roles played by the person.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1405).

Published property Addresses: TIfcAddressList read FAddresses;

Postal and telecommunication addresses of a person.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1408).

Published property EngagedIn: TIfcPersonAndOrganizationList read FEngagedIn;

The inverse relationship to IfcPersonAndOrganization relationships in which IfcPerson is engaged.

Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1411).


Generated by PasDoc 0.17.0.snapshot.