Castle Game Engine: X3DNodes: Class TInlineNode

# Class TInlineNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TInlineNode = class(TAbstractGroupingNode, IAbstractBoundedObject, IAbstractUrlObject)` ## Description Inline node. The loaded inline contents are accessible in the Inlined object. Currently this is also kept in the Children list of this node. Originally, Children list is for VRML 1.0 children, but for inline node this is just used for inlined content (regardless of VRML/X3D version). This means that most methods, like TX3DNode.EnumerateNodes, descend into inlined content normally. ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractGroupingNode TInlineNode ## Overview ### Methods
| `procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;`
| `procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;`
| `procedure AfterLoadInlined; virtual;`
| `function DeepCopyCore(CopyState: TX3DNodeDeepCopyState): TX3DNode; override;`
| `procedure ParseAfter(Reader: TX3DReaderNames); override;`
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `class function VRML1ChildrenSaveToStream: boolean; override;`
| `procedure LoadInlined(CanReload: boolean; const CurrentLengthConversionFactor: Float = 1.0; Exported: TX3DNodeNames = nil);`
| `procedure UnLoadInlined;`
| `procedure LoadedInlineDirectly;`
### Properties
| `property FdLoad: TSFBool read FFdLoad;`
| `property FdUrl: TMFString read FFdUrl;`
| `property FdBboxCenter: TSFVec3f read FFdBboxCenter;`
| `property FdBboxSize: TSFVec3f read FFdBboxSize;`
| `property Inlined: TX3DRootNode read FInlined;`
## Description ### Methods
| `procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;`
| `procedure AfterTraverse(StateStack: TX3DGraphTraverseStateStack); override;`
| `procedure AfterLoadInlined; virtual;`
You can override this to do anything after the Inline children were loaded. It's called only after actual loading occurred, e.g. it's not called when LoadInlined was called on the already-loaded node with CanReload = `False`.
| `function DeepCopyCore(CopyState: TX3DNodeDeepCopyState): TX3DNode; override;`
| `procedure ParseAfter(Reader: TX3DReaderNames); override;`
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `class function VRML1ChildrenSaveToStream: boolean; override;`
| `procedure LoadInlined(CanReload: boolean; const CurrentLengthConversionFactor: Float = 1.0; Exported: TX3DNodeNames = nil);`
Load inlined content now. If Inlined is already loaded: if CanReload = `True` then it will be freed and loaded again, else (if CanReload = `False`) nothing will happen. Note that this has a really simple support for "load" field (this concerns VRML 97 amendment 1 "InlineLoadControl.load" and X3D (actually used also in VRML 97 handling) "Inline.load" fields). It simply doesn't do any loading when "load" = `False`. Note that this doesn't perform setting the "load" field, or sending any notifications to Scene about "load" field. It's the caller's job to keep loaded state synchronized with "load" field value. `LoadInlined`(false) will be called automatically, to ensure the inlined contents are always loaded. It will be called at the end of Parse (this is needed to handle VRML/X3D IMPORT/EXPORT mechanism), it will also be called in BeforeTraverse (in case you constructed node by code, not by parsing; this also happens when node was made by expanding a PROTO). ###### Parameters Exported If non-nil, we will assign here node names exported from the file. Used to handle IMPORT/EXPORT X3D mechanism.
| `procedure UnLoadInlined;`
| `procedure LoadedInlineDirectly;`
Call this to indicate that you loaded the inline contents directly, by using AddChild yourself.
### Properties
| `property FdLoad: TSFBool read FFdLoad;`
| `property FdUrl: TMFString read FFdUrl;`
| `property FdBboxCenter: TSFVec3f read FFdBboxCenter;`
| `property FdBboxSize: TSFVec3f read FFdBboxSize;`
| `property Inlined: TX3DRootNode read FInlined;`
The inlined content (loaded from inlined url). `Nil` if not yet loaded, or no loading was successful. This is also kept in VRML 1.0 children as Children[0], but for future it's better to not depend on that.
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:14