Class TIfcOwnerHistory

Unit

Declaration

type TIfcOwnerHistory = class(TIfcPersistent)

Description

All history and identification related information.

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

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

Hierarchy

Show Additional Members:

Overview

Methods

Protected function WantsGlobalId: Boolean; virtual;
Protected class function IfcClassName: String; virtual;

Properties

Published property GlobalId: String read FGlobalId write FGlobalId;
Published property OwningUser: TIfcPersonAndOrganization read FOwningUser write FOwningUser;
Published property OwningApplication: TIfcApplication read FOwningApplication write FOwningApplication;
Published property State: TIfcStateEnum read FState write FState default TIfcStateEnum.NotDefined;
Published property ChangeAction: TIfcChangeActionEnum read FChangeAction write FChangeAction default TIfcChangeActionEnum.NotDefined;
Published property LastModifiedDate: TIfcTimeStamp read FLastModifiedDate write FLastModifiedDate default 0;
Published property LastModifyingUser: TIfcPersonAndOrganization read FLastModifyingUser write FLastModifyingUser;
Published property LastModifyingApplication: TIfcApplication read FLastModifyingApplication write FLastModifyingApplication;
Published property CreationDate: TIfcTimeStamp read FCreationDate write FCreationDate default 0;

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).

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 OwningUser: TIfcPersonAndOrganization read FOwningUser write FOwningUser;

End user who currently "owns" this object.

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

Published property OwningApplication: TIfcApplication read FOwningApplication write FOwningApplication;

Application which currently "owns" this object on behalf of the owning user of the application.

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

Published property State: TIfcStateEnum read FState write FState default TIfcStateEnum.NotDefined;

Current access state of the object.

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

Published property ChangeAction: TIfcChangeActionEnum read FChangeAction write FChangeAction default TIfcChangeActionEnum.NotDefined;

Actions associated with changes made to the object.

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

Published property LastModifiedDate: TIfcTimeStamp read FLastModifiedDate write FLastModifiedDate default 0;

When the the last modification was made by LastModifyingUser and LastModifyingApplication.

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

Published property LastModifyingUser: TIfcPersonAndOrganization read FLastModifyingUser write FLastModifyingUser;

User who carried out the last modification using LastModifyingApplication.

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

Published property LastModifyingApplication: TIfcApplication read FLastModifyingApplication write FLastModifyingApplication;

Application used to make the last modification.

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

Published property CreationDate: TIfcTimeStamp read FCreationDate write FCreationDate default 0;

When was the entity first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity.

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


Generated by PasDoc 0.17.0.snapshot.