Class TIfcActorRole
Unit
Declaration
type TIfcActorRole = class(TIfcPersistent)
Description
This item has no description. Showing description inherited from TIfcPersistent.
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.
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1316).
Hierarchy
- TObject
- TPersistent
- TComponent
- TIfcPersistent
- TIfcActorRole
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 Role: TIfcRoleEnum read FRole write FRole; |
| Published | property UserDefinedRole: TIfcLabel read FUserDefinedRole write FUserDefinedRole; |
| Published | property Description: TIfcText read FDescription write FDescription; |
| Published | property HasExternalReference: TIfcExternalReferenceRelationshipList read FHasExternalReference; |
Description
Methods
| Protected | 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 | |
| Protected | class function IfcClassName: String; virtual; |
|
Name for the IFC standard, used in IFC files. By default, this is just ClassName with prefix 'T' removed. | |
| Public | constructor Create(AOwner: TComponent); override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1323). | |
| Public | destructor Destroy; override; |
|
This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1324). | |
Properties
| Published | 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 | |
| Published | property Role: TIfcRoleEnum read FRole write FRole; |
|
The name of the role played by an actor. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1327). | |
| Published | property UserDefinedRole: TIfcLabel read FUserDefinedRole write FUserDefinedRole; |
|
Allows for specification of user defined roles beyond the enumeration values provided by Role. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1331). | |
| Published | property Description: TIfcText read FDescription write FDescription; |
|
A textual description relating the nature of the role played by an actor. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1334). | |
| Published | property HasExternalReference: TIfcExternalReferenceRelationshipList read FHasExternalReference; |
|
Reference to external information, e.g. library, classification, or document information, which is associated with the actor role. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 1338). | |
Generated by PasDoc 0.17.0.snapshot.