Castle Game Engine: X3DNodes: Class TSpotLightNode_1

# Class TSpotLightNode_1
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## 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 TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractLightNode TAbstractPositionalLightNode TSpotLightNode_1 ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `function SpotExponent: Single;`
| `function SpotCutoffDeg: Single;`
| `function SpotCosCutoff: Single;`
| `class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;`
| `procedure UpdateLightInstance(var LightInstance: TLightInstance); override;`
| `function ProjectionMatrix: TMatrix4Single; override;`
| `function ModelviewMatrix: TMatrix4Single; override;`
| `function ModelviewRotationMatrix: TMatrix4Single; override;`
| `function ProjectionLocationLocal: TVector3Single; override;`
| `function ProjectionDirectionLocal: TVector3Single; override;`
| `procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;`
| `function HasRadius: boolean; override;`
| `function Scope: TLightScope; override;`
### Properties
| `property FdDirection: TSFVec3f read FFdDirection;`
| `property FdDropOffRate: TSFFloat read FFdDropOffRate;`
| `property FdCutOffAngle: TSFFloat read FFdCutOffAngle;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `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.
| `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).
| `function SpotCosCutoff: Single;`
| `class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;`
| `procedure UpdateLightInstance(var LightInstance: TLightInstance); override;`
| `function ProjectionMatrix: TMatrix4Single; override;`
| `function ModelviewMatrix: TMatrix4Single; override;`
| `function ModelviewRotationMatrix: TMatrix4Single; override;`
| `function ProjectionLocationLocal: TVector3Single; override;`
| `function ProjectionDirectionLocal: TVector3Single; override;`
| `procedure Box3DDistances(const Box: TBox3D; out MinDistance, MaxDistance: Single); override;`
| `function HasRadius: boolean; override;`
| `function Scope: TLightScope; override;`
### Properties
| `property FdDirection: TSFVec3f read FFdDirection;`
| `property FdDropOffRate: TSFFloat read FFdDropOffRate;`
| `property FdCutOffAngle: TSFFloat read FFdCutOffAngle;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:16