Class TAbstractX3DGroupingNode

Unit

Declaration

type TAbstractX3DGroupingNode = class(TAbstractGroupingNode, IAbstractBoundedObject)

Description

Base node that contains children nodes, in X3D and VRML 2.0.

Hierarchy

Overview

Methods

Public procedure CreateNode; override;
Public procedure AddChildren(const Children: array of TAbstractChildNode); overload;
Public procedure AddChildren(const Child: TAbstractChildNode); overload;
Public procedure RemoveChildren(const Children: array of TAbstractChildNode); overload;
Public procedure RemoveChildren(const Child: TAbstractChildNode); overload;
Public procedure ClearChildren;
Public procedure SetChildren(const Value: array of TAbstractChildNode);

Properties

Public property EventAddChildren: TMFNodeEvent read FEventAddChildren;
Public property EventRemoveChildren: TMFNodeEvent read FEventRemoveChildren;
Public property FdChildren: TMFNode read FFdChildren;
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
Public property FdRender: TSFBool read FFdRender;
Public property BboxCenter: TVector3 read GetBboxCenter write SetBboxCenter;
Public property BboxSize: TVector3 read GetBboxSize write SetBboxSize;

Description

Methods

Public procedure CreateNode; override;
 
Public procedure AddChildren(const Children: array of TAbstractChildNode); overload;

Add the nodes as children. Adding a node that already exists on the children list is ignored.

Note: This method prevents adding duplicates to the children list. And the X3D specification doesn't allow duplicates on the children list. But our engine allows duplicates on the children list — you can specify them in the X3D file, or you can add them using FdChildren.Add.

This propagates the changes appropriately to the parent TCastleSceneCore, calling TCastleSceneCore.ChangedAll or something similar.

Public procedure AddChildren(const Child: TAbstractChildNode); overload;
 
Public procedure RemoveChildren(const Children: array of TAbstractChildNode); overload;

Remove the nodes from the children list. Removing a node that does not exist on the children list is ignored.

If a node exists on the current children list multiple times, then a single occurrence of this node is removed, for each occurrence of this node in the parameters list.

This propagates the changes appropriately to the parent TCastleSceneCore, calling TCastleSceneCore.ChangedAll or something similar.

Public procedure RemoveChildren(const Child: TAbstractChildNode); overload;
 
Public procedure ClearChildren;

Clear all children from the list. This automatically propagates the changes appropriately to the parent TCastleSceneCore.

Public procedure SetChildren(const Value: array of TAbstractChildNode);
 

Properties

Public property EventAddChildren: TMFNodeEvent read FEventAddChildren;
 
Public property EventRemoveChildren: TMFNodeEvent read FEventRemoveChildren;
 
Public property FdChildren: TMFNode read FFdChildren;
 
Public property FdBboxCenter: TSFVec3f read FFdBboxCenter;
 
Public property FdBboxSize: TSFVec3f read FFdBboxSize;
 
Public property FdRender: TSFBool read FFdRender;

This is an extension from InstantReality, see [http://instant-reality.com/documentation/nodetype/ChildGroup/]. We simply ignore it for now.

Public property BboxCenter: TVector3 read GetBboxCenter write SetBboxCenter;
 
Public property BboxSize: TVector3 read GetBboxSize write SetBboxSize;
 

Generated by PasDoc 0.15.0.