Class TSpotLightNode_1

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TSpotLightNode_1 = class(TAbstractPositionalLightNode)

Description

no description available, TAbstractPositionalLightNode description follows
no description available, TAbstractLightNode description follows

Base class for all VRML / X3D light nodes.

Note that even the old VRML 1.0 light nodes inherit from this. Although they interpret some bits differently ("ambientIntensity" < 0 has special meaning). But most of the fields behave identically, they only have different default values.

Hierarchy

Overview

Methods

Public procedure CreateNode; override;
Public class function ClassNodeTypeName: string; override;
Public function SpotExponent: Single;
Public function SpotCutoffDeg: Single;
Public function SpotCosCutoff: Single;
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
Public procedure UpdateLightInstance(var LightInstance: TLightInstance); override;
Public function ProjectionMatrix: TMatrix4Single; override;
Public function ModelviewMatrix: TMatrix4Single; override;
Public function ModelviewRotationMatrix: TMatrix4Single; override;
Public function LocationLocal: TVector3Single; override;
Public function DirectionLocal: TVector3Single; override;
Public procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;
Public function HasRadius: boolean; override;
Public function Scope: TLightScope; override;

Properties

Public property FdDirection: TSFVec3f read FFdDirection;
Public property FdDropOffRate: TSFFloat read FFdDropOffRate;
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;

Description

Methods

Public procedure CreateNode; override;
 
Public class function ClassNodeTypeName: string; override;
 
Public function SpotExponent: Single;

Spot exponent (based on dropOffRate). Not normalized (i.e. is a real exponent, in VRML 1.0 expresses in [0..1] range to mean exponents [0..128]). Clamp to correct range.

Public function SpotCutoffDeg: Single;

Spot cutoff angle (based on cutOffAngle).

Expressed in degrees, clamped to correct range (see TSpotLightNode.SpotCutoffDeg for reasons). (since user can input any value in VRML, and also conversion radians -> degrees could accidentally raise value slightly > 90, so cutOffAngle = 1.5708 is in degrees 90.0002104591, which would cause OpenGL fixed-function error).

Public function SpotCosCutoff: Single;
 
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
 
Public procedure UpdateLightInstance(var LightInstance: TLightInstance); override;
 
Public function ProjectionMatrix: TMatrix4Single; override;
 
Public function ModelviewMatrix: TMatrix4Single; override;
 
Public function ModelviewRotationMatrix: TMatrix4Single; override;
 
Public function LocationLocal: TVector3Single; override;
 
Public function DirectionLocal: TVector3Single; override;
 
Public procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;
 
Public function HasRadius: boolean; override;
 
Public function Scope: TLightScope; override;
 

Properties

Public property FdDirection: TSFVec3f read FFdDirection;
 
Public property FdDropOffRate: TSFFloat read FFdDropOffRate;
 
Public property FdCutOffAngle: TSFFloat read FFdCutOffAngle;
 

Generated by PasDoc 0.13.0 on 2014-10-26 05:15:19