Castle Game Engine: X3DNodes: Class TX3DReaderNames

# Class TX3DReaderNames
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TX3DReaderNames = class(TX3DReader)` ## Description Container tracking VRML/X3D node and prototype names during parsing. Used by both classic and XML VRML/X3D readers. ## Hierarchy TObject TX3DReader TX3DReaderNames ## Overview ### Methods
| `constructor Create(const AAutoRemoveNodes: boolean; const ABaseUrl: string; const AVersion: TX3DVersion);`
| `constructor CreateCopy(const AAutoRemoveNodes: boolean; Source: TX3DReader);`
| `destructor Destroy; override;`
| `procedure ExtractNames(out APrototypes: TX3DPrototypeNames; out AExported: TX3DNodeNames);`
| `procedure DoExport(E: TX3DExport);`
| `procedure DoImport(I: TX3DImport);`
### Properties
| `property Nodes: TX3DNodeNames read FNodes;`
| `property Prototypes: TX3DPrototypeNames read FPrototypes;`
| `property Imported: TX3DNodeNames read FImported;`
| `property Exported: TX3DNodeNames read FExported;`
| `property Importable: TX3DImportableNames read FImportable;`
## Description ### Methods
| `constructor Create(const AAutoRemoveNodes: boolean; const ABaseUrl: string; const AVersion: TX3DVersion);`
| `constructor CreateCopy(const AAutoRemoveNodes: boolean; Source: TX3DReader);`
| `destructor Destroy; override;`
| `procedure ExtractNames(out APrototypes: TX3DPrototypeNames; out AExported: TX3DNodeNames);`
Extract names, before destructing this object. This method can be used only right before calling the destructor. It copies the prototype and exported names list (names visible from the outside), and sets them to `Nil` (to avoid releasing them at destruction).
| `procedure DoExport(E: TX3DExport);`
| `procedure DoImport(I: TX3DImport);`
### Properties
| `property Nodes: TX3DNodeNames read FNodes;`
Current namespace for DEF/USE. This is a list without duplicates with all currently known node names. Objects[] of this list point to actual TX3DNode instances. If many instances had the same NodeName, only the last instance will be referenced here, following VRML spec (last DEF takes precedence). Internal notes: ParseNode doesn't modify this, only TX3DNode.Parse can do this.
| `property Prototypes: TX3DPrototypeNames read FPrototypes;`
Current namespace of PROTO names.
| `property Imported: TX3DNodeNames read FImported;`
Currently `IMPORTed` nodes. The nodes on this list are "bound" to their aliases, as this is the name under which they are visible in the current namespace. Alias is the identifier after the "AS" keyword in the "IMPORT" declaration (or, if no "AS xxx" clause was present, then alias is just the name under which node was exported).
| `property Exported: TX3DNodeNames read FExported;`
Currently EXPORTed nodes from this scene. The nodes on this list are "bound" to their aliases, as this is the name under which they are visible for the outside VRML scenes (that can import these nodes). Alias is the identifier after the "AS" keyword in "EXPORT" declaration (or, if no "AS xxx" clause, then alias is just normal node name).
| `property Importable: TX3DImportableNames read FImportable;`
Currently loaded Inlines with importable nodes. The mechanism is that when you load an Inline node, the resulting "Exported" nodes (from the namespace within the Inline) get added to this "Importable" list. Then the "IMPORT" clause in this namespace can make "Importable" nodes into actually "Imported". This is a list with strings representing Inline node names (there's no way to IMPORT from unnamed Inline nodes). Objects[] of this list are instances of TX3DNodeNames corresponding to exported names within the inline.
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:17