Class TX3DExternalPrototype

Unit

Declaration

type TX3DExternalPrototype = class(TX3DPrototypeBase)

Description

X3D external prototype (referencing another file).

Source: scene/x3d/x3dnodes_prototypes.inc (line 247).

Hierarchy

Show Additional Members:

Overview

Methods

Public constructor Create;
Public procedure SaveToStream(Writer: TX3DWriter); virtual; abstract;
Public function SaveToXml: TSaveToXmlMethod; virtual;
Public constructor Create;
Public destructor Destroy; override;
Public procedure Parse(Lexer: TX3DLexer; Reader: TX3DReaderNames); virtual; abstract;
Public procedure ParseXML(Element: TDOMElement; Reader: TX3DReaderNames); virtual; abstract;
Public constructor Create;
Public destructor Destroy; override;
Public procedure Parse(Lexer: TX3DLexer; Reader: TX3DReaderNames); override;
Public procedure ParseXML(Element: TDOMElement; Reader: TX3DReaderNames); override;
Public procedure SaveToStream(Writer: TX3DWriter); override;
Public procedure LoadReferenced(const Version: TX3DVersion);
Public procedure UnloadReferenced;

Properties

Public property PositionInParent: Integer read FPositionInParent write FPositionInParent default -1;
Public property X3DName: String read FX3DName write FX3DName;
Public property Name: String read FX3DName write FX3DName; deprecated 'use X3DName';
Public property InterfaceDeclarations: TX3DInterfaceDeclarationList read FInterfaceDeclarations;
Public property BaseUrl: String read FBaseUrl write FBaseUrl;
Public property UrlList: TMFString read FUrlList;
Public property ReferencedPrototype: TX3DPrototype read FReferencedPrototype;
Public property ReferencedClass: TX3DNodeClass read FReferencedClass;

Description

Methods

Public constructor Create;

This item has no description.

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

Public procedure SaveToStream(Writer: TX3DWriter); virtual; abstract;

Save to stream.

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

Public function SaveToXml: TSaveToXmlMethod; virtual;

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 constructor Create;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 207).

Public destructor Destroy; override;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 208).

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

Parse prototype, and add it to Names.Prototypes. Adds to Names by Names.Prototypes.Bind(Self).

Source: scene/x3d/x3dnodes_prototypes.inc (line 219).

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

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 220).

Public constructor Create;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 264).

Public destructor Destroy; override;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 265).

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

This item has no description. Showing description inherited from TX3DPrototypeBase.Parse.

Parse prototype, and add it to Names.Prototypes. Adds to Names by Names.Prototypes.Bind(Self).

Source: scene/x3d/x3dnodes_prototypes.inc (line 268).

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

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 269).

Public procedure SaveToStream(Writer: TX3DWriter); override;

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

Save to stream.

Source: scene/x3d/x3dnodes_prototypes.inc (line 270).

Public procedure LoadReferenced(const Version: TX3DVersion);

Loads URL, until the first success. Sets either ReferencedClass to non-nil (if it's built-in node) or ReferencedPrototype (if prototype expansion found in external file).

Source: scene/x3d/x3dnodes_prototypes.inc (line 278).

Public procedure UnloadReferenced;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 279).

Properties

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

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

Public property X3DName: String read FX3DName write FX3DName;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 209).

Public property Name: String read FX3DName write FX3DName; deprecated 'use X3DName';

Warning: this symbol is deprecated: use X3DName

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 211).

Public property InterfaceDeclarations: TX3DInterfaceDeclarationList read FInterfaceDeclarations;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 213).

Public property BaseUrl: String read FBaseUrl write FBaseUrl;

The base URL path used to resolve urls inside. For now, used by EXTERNPROTO urls. See TX3DNode.BaseUrl for more comments.

Source: scene/x3d/x3dnodes_prototypes.inc (line 226).

Public property UrlList: TMFString read FUrlList;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 266).

Public property ReferencedPrototype: TX3DPrototype read FReferencedPrototype;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 272).

Public property ReferencedClass: TX3DNodeClass read FReferencedClass;

This item has no description.

Source: scene/x3d/x3dnodes_prototypes.inc (line 273).


Generated by PasDoc 0.17.0.snapshot.