Class TLocalFogNode

Unit

Declaration

type TLocalFogNode = class(TAbstractChildNode)

Description

Simulate atmospheric fog effects (for a part of the scene) by blending with the fog colour, based on the distance from the viewer. This is the "local" version of the TFogNode, this affects only the sibling nodes of the LocalFog node, not the whole scene.

Hierarchy

Overview

Methods

Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;
Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;
Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;

Properties

Public property FdColor: TSFColor read FFdColor;
Public property Color: TCastleColorRGB read GetColor write SetColor;
Public property FdEnabled: TSFBool read FFdEnabled;
Public property Enabled: Boolean read GetEnabled write SetEnabled;
Public property FdFogType: TSFStringEnum read FFdFogType;
Public property FogType: TFogType read GetFogType write SetFogType;
Public property FdVisibilityRange: TSFFloat read FFdVisibilityRange;
Public property VisibilityRange: Single read GetVisibilityRange write SetVisibilityRange;
Public property FdVolumetric: TSFBool read FFdVolumetric;
Public property Volumetric: Boolean read GetVolumetric write SetVolumetric;
Public property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;
Public property VolumetricDirection: TVector3 read GetVolumetricDirection write SetVolumetricDirection;
Public property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;
Public property VolumetricVisibilityStart: Single read GetVolumetricVisibilityStart write SetVolumetricVisibilityStart;

Description

Methods

Protected procedure BeforeTraverse(StateStack: TX3DGraphTraverseStateStack); override;

This item has no description. Showing description inherited from TX3DNode.BeforeTraverse.

Override these methods to determine what happens when given node is traversed during Traverse call. The main use of this is to operate on TX3DGraphTraverseStateStack.

Remember to always call inherited when overriding. In BeforeTraverse and MiddleTraverse you should call inherited at the beginning, in AfterTraverse inherited should be called at the end.

Besides changing StateStack.Top fields, you can do push/pop on the stack. Remember that if you do StateStack.Push in BeforeTraverse, and then you must call StateStack.Pop in AfterTraverse.

Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;

This item has no description. Showing description inherited from TX3DNode.GroupBeforeTraverse.

React when this node is processed as an immediate child of a grouping node, within grouping node's BeforeTraverse.

Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;

This item has no description. Showing description inherited from TX3DNode.Create.

Constructor. Initializes various properties:

  • Name, BaseUrl are initialized from given parameters.

  • The Fields, Events lists are filled in every descendant, to have all the fields/events defined by the specification.

  • DefaultContainerField, and other node-specific stuff, is filled in descendants. This is actually implemented in CreateNode, that is called at the end of this constructor.

Public procedure CreateNode; override;

Create node fields and events.

Public class function ClassX3DType: String; override;

This item has no description. Showing description inherited from TX3DNode.ClassX3DType.

Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value.

Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there.

You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance.

Properties

Public property FdColor: TSFColor read FFdColor;

Internal wrapper for property Color. This wrapper API may change, we advise to access simpler Color instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Color: TCastleColorRGB read GetColor write SetColor;

This item has no description.

Public property FdEnabled: TSFBool read FFdEnabled;

Internal wrapper for property Enabled. This wrapper API may change, we advise to access simpler Enabled instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Enabled: Boolean read GetEnabled write SetEnabled;

This item has no description.

Public property FdFogType: TSFStringEnum read FFdFogType;

Internal wrapper for property FogType. This wrapper API may change, we advise to access simpler FogType instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FogType: TFogType read GetFogType write SetFogType;

This item has no description.

Public property FdVisibilityRange: TSFFloat read FFdVisibilityRange;

Internal wrapper for property VisibilityRange. This wrapper API may change, we advise to access simpler VisibilityRange instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property VisibilityRange: Single read GetVisibilityRange write SetVisibilityRange;

This item has no description.

Public property FdVolumetric: TSFBool read FFdVolumetric;

Internal wrapper for property Volumetric. This wrapper API may change, we advise to access simpler Volumetric instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Volumetric: Boolean read GetVolumetric write SetVolumetric;

Activate volumetric fog, see https://castle-engine.io/x3d_extensions.php

Public property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;

Internal wrapper for property VolumetricDirection. This wrapper API may change, we advise to access simpler VolumetricDirection instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property VolumetricDirection: TVector3 read GetVolumetricDirection write SetVolumetricDirection;

This item has no description.

Public property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;

Internal wrapper for property VolumetricVisibilityStart. This wrapper API may change, we advise to access simpler VolumetricVisibilityStart instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property VolumetricVisibilityStart: Single read GetVolumetricVisibilityStart write SetVolumetricVisibilityStart;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.