Class TSFFloat
Unit
X3DFields
Declaration
type TSFFloat = class(TX3DSingleField)
Description
no description available, TX3DSingleField description follows no description available, TX3DField description follows
Base class for all VRML/X3D fields.
Common notes for all descendants: most of them expose field or property "Value", this is (surprise, surprise!) the value of the field. Many of them also expose DefaultValue and DefaultValueExists fields/properties, these should be the default VRML value for this field. You can even change DefaultValue after the object is created.
Most of descendants include constructor that initializes both DefaultValue and Value to the same thing, as this is what you usually want.
Some notes about Assign method (inherited from TPersistent and overridied appropriately in TX3DField descendants):
There are some exceptions, but usually assignment is possible only when source and destination field classes are equal.
Assignment (by Assign , inherited from TPersistent) tries to copy everything: name (with alternative names), default value, IsClauseNames, ValueFromIsClause, Exposed, and of course current value.
Exceptions are things related to hierarchy of containers: ParentNode, ParentInterfaceDeclaration. Also ExposedEventsLinked.
If you want to copy only the current value, use AssignValue (or AssignLerp, where available).
Hierarchy
Overview
Fields
Methods
Properties
 |
property Value: Single read FValue write SetValue; |
 |
property MustBeNonnegative: boolean read FMustBeNonnegative default false; |
 |
property Angle: boolean read FAngle write FAngle default false; |
Description
Fields
 |
DefaultValue: Single; |
|
 |
DefaultValueExists: boolean; |
|
Methods
 |
procedure SaveToStreamValue(Writer: TX3DWriter); override; |
|
 |
constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: Single); overload; |
|
 |
constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: Single; AMustBeNonnegative: boolean); overload; |
|
 |
function EqualsDefaultValue: boolean; override; |
|
 |
function Equals(SecondValue: TX3DField; const EqualityEpsilon: Double): boolean; override; |
|
 |
function FastEqualsValue(SecondValue: TX3DField): boolean; override; |
|
 |
procedure AssignLerp(const A: Double; Value1, Value2: TX3DField); override; |
|
 |
function CanAssignLerp: boolean; override; |
|
 |
procedure Assign(Source: TPersistent); override; |
|
 |
procedure AssignValue(Source: TX3DField); override; |
|
 |
procedure AssignDefaultValueFromValue; override; |
|
 |
class function TypeName: string; override; |
|
 |
class function CreateEvent(const AParentNode: TX3DFileItem; const AName: string; const AInEvent: boolean): TX3DEvent; override; |
|
 |
procedure Send(const AValue: Single); overload; |
|
Properties
 |
property Value: Single read FValue write SetValue; |
|
 |
property MustBeNonnegative: boolean read FMustBeNonnegative default false; |
If True then when trying to set Value to something < 0, we'll negate it (in other words, we'll keep Value >= 0 always). This is nice e.g. for Sphere.FdRadius field — some incorrect VRML specify negative sphere radius.
|
 |
property Angle: boolean read FAngle write FAngle default false; |
Value represents an angle. When reading from X3D 3.3 file, we will make sure it's expressed in radians, honoring optional "UNIT angle ..." declaration in X3D file.
|
Generated by PasDoc 0.13.0 on 2014-04-30 22:06:46
|