Class TAbstractLightNode

Unit

Declaration

type TAbstractLightNode = class(TAbstractChildNode)

Description

Base class for all the light nodes.

Hierarchy

Overview

Methods

Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Protected procedure MiddleTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
Public function CreateLightInstance(State: TX3DGraphTraverseState): TLightInstance;
Public procedure UpdateLightInstanceState( var LightInstance: TLightInstance; State: TX3DGraphTraverseState);
Public procedure UpdateLightInstance( var LightInstance: TLightInstance); virtual;
Public function Scope: TLightScope; virtual;
Public function Transform: TMatrix4;
Public function InverseTransform: TMatrix4;
Public function TransformationChange: TNodeTransformationChange; override;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public procedure SetEffects(const Value: array of TEffectNode);

Properties

Public property FdAmbientIntensity: TSFFloat read FFdAmbientIntensity;
Public property AmbientIntensity: Single read GetAmbientIntensity write SetAmbientIntensity;
Public property FdColor: TSFColor read FFdColor;
Public property Color: TCastleColorRGB read GetColor write SetColor;
Public property FdGlobal: TSFBool read FFdGlobal;
Public property Global: Boolean read GetGlobal write SetGlobal;
Public property FdIntensity: TSFFloat read FFdIntensity;
Public property Intensity: Single read GetIntensity write SetIntensity;
Public property FdOn: TSFBool read FFdOn;
Public property IsOn: Boolean read GetIsOn write SetIsOn;
Public property FdEffects: TMFNode read FFdEffects;
Public property FdShadowVolumes: TSFBool read FFdShadowVolumes;
Public property ShadowVolumes: Boolean read GetShadowVolumes write SetShadowVolumes;

Description

Methods

Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Protected procedure MiddleTraverse(StateStack: TX3DGraphTraverseStateStack); override;
 
Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;
 
Public constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
 
Public function CreateLightInstance(State: TX3DGraphTraverseState): TLightInstance;

Create TLightInstance record describing this light node under given State.

Public procedure UpdateLightInstanceState( var LightInstance: TLightInstance; State: TX3DGraphTraverseState);

Update TLightInstance record when lighting State changes. Assumes that LightInstance.Node = Self.

This will set LightInstance.Transform properties, and recalculate all LightInstance properties based on Transform.

Public procedure UpdateLightInstance( var LightInstance: TLightInstance); virtual;

Update TLightInstance record when lighting location/direction (and other properties precalculated on TLightInstance) change. Assumes that LightInstance.Node = Self.

Public function Scope: TLightScope; virtual;

Light scope. Default implementation returns lsGlobal or lsLocal, depending on "global" field value (this follows VRML/X3D >= 2.0 rules).

Public function Transform: TMatrix4;

Transformation of this light node. Beware: In X3D, light nodes can be instantiated many times within the scene, with different transformations, so this transformation property should not be used in general.

Use this only if you you know that light node occurs only once within the scene (see [https://castle-engine.io/x3d_extensions.php#section_ext_shadow_maps]). Or if you're fine with just getting an undefined transformation, for any of the light instances.

This value is calculated during traversing. Last BeforeTraverse call for this node sets this property. By default, it represents identity transformation.

Public function InverseTransform: TMatrix4;
 
Public function TransformationChange: TNodeTransformationChange; override;
 
Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 
Public procedure SetEffects(const Value: array of TEffectNode);
 

Properties

Public property FdAmbientIntensity: TSFFloat read FFdAmbientIntensity;

Internal wrapper for property AmbientIntensity. This wrapper API may change, we advise to access simpler AmbientIntensity instead.

Public property AmbientIntensity: Single read GetAmbientIntensity write SetAmbientIntensity;
 
Public property FdColor: TSFColor read FFdColor;

Internal wrapper for property Color. This wrapper API may change, we advise to access simpler Color instead.

Public property Color: TCastleColorRGB read GetColor write SetColor;
 
Public property FdGlobal: TSFBool read FFdGlobal;

Internal wrapper for property Global. This wrapper API may change, we advise to access simpler Global instead.

Public property Global: Boolean read GetGlobal write SetGlobal;
 
Public property FdIntensity: TSFFloat read FFdIntensity;

Internal wrapper for property Intensity. This wrapper API may change, we advise to access simpler Intensity instead.

Public property Intensity: Single read GetIntensity write SetIntensity;
 
Public property FdOn: TSFBool read FFdOn;

Internal wrapper for property IsOn. This wrapper API may change, we advise to access simpler IsOn instead.

Public property IsOn: Boolean read GetIsOn write SetIsOn;
 
Public property FdEffects: TMFNode read FFdEffects;

Internal wrapper for property Effects. This wrapper API may change, we advise to access simpler Effects instead.

Public property FdShadowVolumes: TSFBool read FFdShadowVolumes;

Internal wrapper for property ShadowVolumes. This wrapper API may change, we advise to access simpler ShadowVolumes instead.

Public property ShadowVolumes: Boolean read GetShadowVolumes write SetShadowVolumes;
 

Generated by PasDoc 0.16.0.