Class TX3DImport

Unit

Declaration

type TX3DImport = class(TX3DFileItem)

Description

X3D import statement, allowing to access in one model namespace the names from another model namespace, if the other model is included using a TInlineNode.

Source: scene/x3d/x3dnodes_importexport.inc (line 22).

Hierarchy

Show Additional Members:

Overview

Fields

Public InlineNodeName: string;
Public ImportedNodeName: string;
Public ImportedNodeAlias: string;

Methods

Public constructor Create;
Public function SaveToXml: TSaveToXmlMethod; virtual;
Public procedure Parse(Lexer: TX3DLexer; Reader: TX3DReaderNames);
Public procedure ParseXML(Element: TDOMElement; Reader: TX3DReaderNames);
Public procedure SaveToStream(Writer: TX3DWriter); override;
Public function DeepCopy(const CopyState: TX3DNodeDeepCopyState): TX3DImport;

Properties

Public property PositionInParent: Integer read FPositionInParent write FPositionInParent default -1;

Description

Fields

Public InlineNodeName: string;

This item has no description.

Source: scene/x3d/x3dnodes_importexport.inc (line 24).

Public ImportedNodeName: string;

This item has no description.

Source: scene/x3d/x3dnodes_importexport.inc (line 24).

Public ImportedNodeAlias: string;

This item has no description.

Source: scene/x3d/x3dnodes_importexport.inc (line 24).

Methods

Public constructor Create;

This item is declared in ancestor TX3DFileItem.

This item has no description.

Source: scene/x3d/castlefields_x3dfileitem.inc (line 42).

Public function SaveToXml: TSaveToXmlMethod; virtual;

This item is declared in ancestor TX3DFileItem.

How is this saved to X3D XML encoding. This determines when SaveToStream is called. It also cooperates with some SaveToStream implementations, guiding how the item is actually saved. By default it is sxChildElement.

Source: scene/x3d/castlefields_x3dfileitem.inc (line 81).

Public procedure Parse(Lexer: TX3DLexer; Reader: TX3DReaderNames);

This item has no description.

Source: scene/x3d/x3dnodes_importexport.inc (line 26).

Public procedure ParseXML(Element: TDOMElement; Reader: TX3DReaderNames);

Parse the IMPORT declaration (XML encoding). Given Element here must have TagName = 'IMPORT'.

Source: scene/x3d/x3dnodes_importexport.inc (line 30).

Public procedure SaveToStream(Writer: TX3DWriter); override;

This item has no description. Showing description inherited from TX3DFileItem.SaveToStream.

Save to stream.

Source: scene/x3d/x3dnodes_importexport.inc (line 32).

Public function DeepCopy(const CopyState: TX3DNodeDeepCopyState): TX3DImport;

This item has no description.

Source: scene/x3d/x3dnodes_importexport.inc (line 33).

Properties

Public property PositionInParent: Integer read FPositionInParent write FPositionInParent default -1;

This item is declared in ancestor TX3DFileItem.

Position of this item within parent VRML/X3D node, used for saving the VRML/X3D graph to file. Default value -1 means "undefined".

For normal usage and processing of VRML graph, this is totally not needed. This position doesn't dictate actual meaning of VRML graph. If you're looking to change order of nodes, you probably want to rather look at something like ReplaceItems within TMFNode or such.

This field is purely a hint when encoding VRML file how to order VRML items (nodes, fields, routes, protos) within parent node or the VRML file. Reason: VRML allows non-unique node names. Each DEF XXX overrides all previous ("previous" in lexical sense, i.e. normal order of tokens in the file) DEF XXX with the same XXX, thus hiding previous node name "XXX". This means that when saving VRML file we have to be very careful about the order of items, such that e.g. all routes are specified when appropriate node names are bound.

This is a relative position, relative to other PositionInParent value of other TX3DFileItem items. So it's not necessary to keep all PositionInParent different or successive within some parent. When saving, we will sort everything according to PositionInParent.

See e.g. ../../../demo_models/x3d/tricky_def_use.x3dv for tests of some tricky layout. When reading such file we have to record PositionInParent to be able to save such file correctly.

Source: scene/x3d/castlefields_x3dfileitem.inc (line 71).


Generated by PasDoc 0.17.0.snapshot.