| Description | Hierarchy | Fields | Methods | Properties |
type TSceneNode = class(TAttributeExchangingObject)
Base class for all scene nodes.
A scene node is a node in the hierarchical scene graph. Every scene node may have children, which are also scene nodes. Children move relative to their parent's position. If the parent of a node is not visible, its children won't be visible either. In this way, it is for example easily possible to attach a light to a moving car, or to place a walking character on a moving platform on a moving ship.
![]() |
constructor Create(NReference: Pointer; NSceneManager: TReferenceCounted; NAutoDrop: Boolean = False); |
![]() |
function Clone(Parent: TSceneNode = nil; NewManager: TReferenceCounted = nil): TSceneNode; inline; |
![]() |
function GetAnimators: TAnimatorListIterator; inline; |
![]() |
function GetChildren: TSceneNodeListIterator; inline; |
![]() |
function GetParent: TSceneNode; inline; |
![]() |
function GetTransformedBoundingBox: TBoundingBox; inline; |
![]() |
function GetTriangleSelector: TReferenceCounted; inline; |
![]() |
function IsTrulyVisible: Boolean; inline; |
![]() |
procedure AddAnimator(Animator: TSceneNodeAnimator); inline; |
![]() |
procedure AddChild(Child: TSceneNode); inline; |
![]() |
procedure OnAnimate(TimeMS: LongWord); inline; |
![]() |
procedure OnRegisterSceneNode; inline; |
![]() |
procedure Remove; inline; |
![]() |
procedure RemoveAll; inline; |
![]() |
procedure RemoveAnimator(Anim: TSceneNodeAnimator); inline; |
![]() |
procedure RemoveAnimators; inline; |
![]() |
procedure RemoveChild(Child: TSceneNode); inline; |
![]() |
procedure Render; inline; |
![]() |
procedure SetMaterialFlag(Flag: TMaterialFlag; NewValue: Boolean = True); inline; |
![]() |
procedure SetMaterialTexture(TextureLayer: LongWord; Texture: TTexture); inline; |
![]() |
procedure SetMaterialType(NewType: TMaterialType); inline; |
![]() |
procedure SetParent(NewParent: TSceneNode); inline; |
![]() |
procedure SetTriangleSelector(NewSelector: TReferenceCounted); inline; |
![]() |
procedure UpdateAbsolutePosition; inline; |
![]() |
property AbsolutePosition: TVector3D read GetAbsolutePosition; |
![]() |
property AbsoluteTransformation: TMatrix4 read GetAbsoluteTransformation; |
![]() |
property AutomaticCulling: TAutomaticCulling
read GetAutomaticCulling write SetAutomaticCulling; |
![]() |
property BoundingBox: TBoundingBox read GetBoundingBox; |
![]() |
property DebugDataVisible: LongWord read IsDebugDataVisible write SetDebugDataVisible; |
![]() |
property ID: LongInt read GetID write SetID; |
![]() |
property IsDebugObject: Boolean read GetIsDebugObject write SetIsDebugObject; |
![]() |
property MaterialCount: LongWord read GetMaterialCount; |
![]() |
property Materials[Index: LongWord]: PMaterial read GetMaterial; |
![]() |
property Name: AnsiString read GetName write SetName; |
![]() |
property Position: TVector3D read GetPosition write SetPosition; |
![]() |
property Rotation: TVector3D read GetRotation write SetRotation; |
![]() |
property Scale: TVector3D read GetScale write SetScale; |
![]() |
property SceneManager: TReferenceCounted read FSceneManager; |
![]() |
property SceneNodeType: TSceneNodeType read GetSceneNodeType; |
![]() |
property Visible: Boolean read IsVisible write SetVisible; |
![]() |
constructor Create(NReference: Pointer; NSceneManager: TReferenceCounted; NAutoDrop: Boolean = False); |
|
Creates a Wrapper object from a pointer handle. Only used internally. | |
![]() |
function Clone(Parent: TSceneNode = nil; NewManager: TReferenceCounted = nil): TSceneNode; inline; |
|
Creates a Parameters
| |
![]() |
function GetAnimators: TAnimatorListIterator; inline; |
|
Returns an iterator for all scene node animators. | |
![]() |
function GetChildren: TSceneNodeListIterator; inline; |
|
Returns an iterator for all child nodes. | |
![]() |
function GetParent: TSceneNode; inline; |
|
Returns the node's parent. | |
![]() |
function GetTransformedBoundingBox: TBoundingBox; inline; |
|
Get the axis aligned, transformed and animated absolute bounding box of this node. | |
![]() |
function GetTriangleSelector: TReferenceCounted; inline; |
|
Returns the triangle selector attached to this scene node. | |
![]() |
function IsTrulyVisible: Boolean; inline; |
|
Check whether the node is truly visible, taking into accounts its parents' visibility. | |
![]() |
procedure AddAnimator(Animator: TSceneNodeAnimator); inline; |
|
Adds an animator which should animate this node. | |
![]() |
procedure AddChild(Child: TSceneNode); inline; |
|
Adds a child to this scene node. | |
![]() |
procedure OnAnimate(TimeMS: LongWord); inline; |
|
| |
![]() |
procedure OnRegisterSceneNode; inline; |
|
This method is called just before the rendering process of the whole scene. | |
![]() |
procedure Remove; inline; |
|
Removes this scene node from the scene. | |
![]() |
procedure RemoveAll; inline; |
|
Removes all children of this scene node. | |
![]() |
procedure RemoveAnimator(Anim: TSceneNodeAnimator); inline; |
|
Removes an animator from this scene node. | |
![]() |
procedure RemoveAnimators; inline; |
|
Removes all animators from this scene node. | |
![]() |
procedure RemoveChild(Child: TSceneNode); inline; |
|
Removes a child from this scene node. | |
![]() |
procedure Render; inline; |
|
Renders the node. | |
![]() |
procedure SetMaterialFlag(Flag: TMaterialFlag; NewValue: Boolean = True); inline; |
|
Sets all material flags at once to a new value. | |
![]() |
procedure SetMaterialTexture(TextureLayer: LongWord; Texture: TTexture); inline; |
|
Sets the texture of the specified layer in all materials to the new texture. Parameters
| |
![]() |
procedure SetMaterialType(NewType: TMaterialType); inline; |
|
Sets the material type of all materials in this scene node to a new material type. | |
![]() |
procedure SetParent(NewParent: TSceneNode); inline; |
|
Changes the parent of the scene node. | |
![]() |
procedure SetTriangleSelector(NewSelector: TReferenceCounted); inline; |
|
Sets the triangle selector of the scene node. | |
![]() |
procedure UpdateAbsolutePosition; inline; |
|
Updates the absolute position based on the relative and the parents position. | |
![]() |
property AbsolutePosition: TVector3D read GetAbsolutePosition; |
|
Gets the absolute position of the node in world coordinates. | |
![]() |
property AbsoluteTransformation: TMatrix4 read GetAbsoluteTransformation; |
|
Get the absolute transformation of the node. Is recalculated every OnAnimate() call. | |
![]() |
property AutomaticCulling: TAutomaticCulling
read GetAutomaticCulling write SetAutomaticCulling; |
|
Enables or disables automatic culling based on the bounding box. | |
![]() |
property BoundingBox: TBoundingBox read GetBoundingBox; |
|
The axis aligned, not transformed bounding box of this node. | |
![]() |
property DebugDataVisible: LongWord read IsDebugDataVisible write SetDebugDataVisible; |
|
Returns or sets if debug data like bounding boxes are drawn. | |
![]() |
property ID: LongInt read GetID write SetID; |
|
The | |
![]() |
property IsDebugObject: Boolean read GetIsDebugObject write SetIsDebugObject; |
|
Returns or sets if this scene node is a debug object. | |
![]() |
property MaterialCount: LongWord read GetMaterialCount; |
![]() |
property Materials[Index: LongWord]: PMaterial read GetMaterial; |
|
Returns the material based on the zero based index i. | |
![]() |
property Name: AnsiString read GetName write SetName; |
|
The | |
![]() |
property Position: TVector3D read GetPosition write SetPosition; |
|
The | |
![]() |
property Rotation: TVector3D read GetRotation write SetRotation; |
|
The | |
![]() |
property Scale: TVector3D read GetScale write SetScale; |
|
The relative | |
![]() |
property SceneManager: TReferenceCounted read FSceneManager; |
|
The manager of this scene node. | |
![]() |
property SceneNodeType: TSceneNodeType read GetSceneNodeType; |
|
The type of this scene node | |
![]() |
property Visible: Boolean read IsVisible write SetVisible; |
|
Whether this node is | |