Class TIfcTextLiteralWithExtent
Unit
Declaration
type TIfcTextLiteralWithExtent = class(TIfcTextLiteral)
Description
Text to be displayed, with a defined extent (box) and alignment within it.
Spec: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcTextLiteralWithExtent.htm
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2130).
Hierarchy
- TObject
- TPersistent
- TComponent
- TIfcPersistent
- TIfcRepresentationItem
- TIfcGeometricRepresentationItem
- TIfcTextLiteral
- TIfcTextLiteralWithExtent
Overview
Methods
| Protected | function WantsGlobalId: Boolean; virtual; |
| Protected | class function IfcClassName: String; virtual; |
| Public | constructor Create(AOwner: TComponent); override; |
| Public | function BuildNode(const Mapping: TCastleIfcMapping; const ParentProduct: TIfcProduct; const LitAppearance, UnlitAppearance: TAppearanceNode): TAbstractChildNode; override; |
| Protected | function GetBoxAlignment: TIfcBoxAlignment; override; |
Properties
| Published | property GlobalId: String read FGlobalId write FGlobalId; |
| Published | property LayerAssignment: TIfcPresentationLayerAssignment read FLayerAssignment write FLayerAssignment; |
| Published | property StyledByItem: TIfcStyledItem read FStyledByItem write FStyledByItem; |
| Published | property Literal: TIfcPresentableText read FLiteral write FLiteral; |
| Published | property Placement: TIfcAxis2Placement read FPlacement write FPlacement; |
| Published | property Path: TIfcTextPath read FPath write FPath default TIfcTextPath.Unknown; |
| Published | property Extent: TIfcPlanarExtent read FExtent write FExtent; |
| Published | property BoxAlignment: TIfcBoxAlignment read FBoxAlignment write FBoxAlignment; |
Description
Methods
| Protected | function WantsGlobalId: Boolean; virtual; |
|
This item is declared in ancestor TIfcPersistent.
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; |
|
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. | |
| Public | constructor Create(AOwner: TComponent); override; |
|
This item is declared in ancestor TIfcTextLiteral. This item has no description. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2102). | |
| Public | function BuildNode(const Mapping: TCastleIfcMapping; const ParentProduct: TIfcProduct; const LitAppearance, UnlitAppearance: TAppearanceNode): TAbstractChildNode; override; |
|
This item is declared in ancestor TIfcTextLiteral. This item has no description. Showing description inherited from TIfcRepresentationItem.BuildNode.
Build a node to display this using Castle Game Engine. Returns
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2103). | |
| Protected | function GetBoxAlignment: TIfcBoxAlignment; override; |
|
This item has no description. Showing description inherited from TIfcTextLiteral.GetBoxAlignment. Current BoxAlignment. Returns TIfcTextLiteralWithExtent.BoxAlignment or empty string, if this is not TIfcTextLiteralWithExtent. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2135). | |
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 IFC JSON documentation says this, which seems to (unfortunately it is not unambiguous enough...) allow this at any IFC class: "Whereas the | |
| Published | property LayerAssignment: TIfcPresentationLayerAssignment read FLayerAssignment write FLayerAssignment; |
|
This item is declared in ancestor TIfcRepresentationItem.
Assignment of the representation item to a single or multiple layer(s). Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 393). | |
| Published | property StyledByItem: TIfcStyledItem read FStyledByItem write FStyledByItem; |
|
This item is declared in ancestor TIfcRepresentationItem.
Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 399). | |
| Published | property Literal: TIfcPresentableText read FLiteral write FLiteral; |
|
This item is declared in ancestor TIfcTextLiteral. The text to display. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2108). | |
| Published | property Placement: TIfcAxis2Placement read FPlacement write FPlacement; |
|
This item is declared in ancestor TIfcTextLiteral.
Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2111). | |
| Published | property Path: TIfcTextPath read FPath write FPath default TIfcTextPath.Unknown; |
|
This item is declared in ancestor TIfcTextLiteral.
Writing direction of the text. The value after creation is Note: The declared default below is deliberately different, Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2124). | |
| Published | property Extent: TIfcPlanarExtent read FExtent write FExtent; |
|
Note: We ignore this for now. We don't need it to honor BoxAlignment: from what I understand, both the box defined by this, and the text, place the corner at BoxAlignment. This value would only matter to wrap or clip the text to the box, and to honor the alignment of the text within the box, given by IfcTextStyleTextModel.TextAlign . Then, the box size does shift the text, e.g. BoxAlignment = 'bottom-right' with TextAlign = 'left' means the text starts SizeInX to the left of the placement. Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2148). | |
| Published | property BoxAlignment: TIfcBoxAlignment read FBoxAlignment write FBoxAlignment; |
|
Alignment of the text (and of the box defined by Extent). One of the 9 values allowed by TIfcBoxAlignment, like Source: scene/load/ifc/castleifc_ifc_standard_types.inc (line 2153). | |
Generated by PasDoc 1.0.4.