Class TIfcPersistent
Unit
Declaration
type TIfcPersistent = class abstract(TComponent)
Description
Abstract class that can be serialized to / deserialized from an IFC file. This is not part of the official IFC standard, it is added for CGE purposes.
It is a TComponent, because all IFC classes are owned by a common owner. This way we avoid complicated memory management ("who is responsible for freeing who", or reference counting as we did for X3D nodes), and we can easily free all IFC classes by freeing the owner.
Hierarchy
- TObject
- TPersistent
- TComponent
- TIfcPersistent
Overview
Methods
![]() |
function WantsGlobalId: Boolean; virtual; |
![]() |
class function IfcClassName: String; virtual; |
Properties
![]() |
property GlobalId: String read FGlobalId write FGlobalId; |
Description
Methods
![]() |
function WantsGlobalId: Boolean; virtual; |
If 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 |
![]() |
class function IfcClassName: String; virtual; |
Name for the IFC standard, used in IFC files. By default, this is just ClassName with prefix 'T' removed. |
Properties
![]() |
property GlobalId: String read FGlobalId write FGlobalId; |
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 IFC JSON documentation says this, which seems to (unfortunately it is not unambiguous enough...) allow this at any IFC class: "Whereas the |
Generated by PasDoc 0.16.0-snapshot.