Class TIfcRepresentation

Unit

Declaration

type TIfcRepresentation = class abstract(TIfcPersistent)

Description

How to display the product.

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

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 ContextOfItems: TIfcRepresentationContext read FContextOfItems write FContextOfItems;
Published property RepresentationIdentifier: TIfcLabel read FRepresentationIdentifier write FRepresentationIdentifier;
Published property RepresentationType: TIfcLabel read FRepresentationType write FRepresentationType;
Published property Items: TIfcRepresentationItemList read FItems;
Published property RepresentationMap: TIfcRepresentationMapList read FRepresentationMap;
Published property LayerAssignments: TIfcPresentationLayerAssignmentList read FLayerAssignments;
Published property OfProductRepresentation: TIfcProductRepresentationList read FOfProductRepresentation;

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

Public destructor Destroy; override;

This item has no description.

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

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 ContextOfItems: TIfcRepresentationContext read FContextOfItems write FContextOfItems;

Definition of the representation context for which the different subtypes of representation are valid.

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

Published property RepresentationIdentifier: TIfcLabel read FRepresentationIdentifier write FRepresentationIdentifier;

The optional identifier of the representation as used within a project.

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

Published property RepresentationType: TIfcLabel read FRepresentationType write FRepresentationType;

The description of the type of a representation context.

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

Published property Items: TIfcRepresentationItemList read FItems;

Set of geometric representation items that are defined for this representation.

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

Published property RepresentationMap: TIfcRepresentationMapList read FRepresentationMap;

Use of the representation within an IfcRepresentationMap.

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

Published property LayerAssignments: TIfcPresentationLayerAssignmentList read FLayerAssignments;

Assignment of the whole representation to a single or multiple layer(s).

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

Published property OfProductRepresentation: TIfcProductRepresentationList read FOfProductRepresentation;

Reference to the product representations to which this individual representation applies.

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


Generated by PasDoc 0.17.0.snapshot.