Castle Game Engine: X3DFields: Class TSFMatrix4f

# Class TSFMatrix4f
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DFields ## Declaration `type TSFMatrix4f = 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 TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DFieldOrEvent TX3DField TX3DSingleField TSFMatrix4f ## Overview ### Methods
| `constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: TMatrix4Single);`
| `procedure ParseValue(Lexer: TX3DLexer; Reader: TX3DReader); override;`
| `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;`
| `function TransformScale: Single;`
| `class function TypeName: string; override;`
| `procedure Send(const AValue: TMatrix4Single); virtual; overload;`
### Properties
| `property Value: TMatrix4Single read FValue write FValue;`
## Description ### Methods
| `constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: TMatrix4Single);`
| `procedure ParseValue(Lexer: TX3DLexer; Reader: TX3DReader); override;`
| `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;`
| `function TransformScale: Single;`
Return average scale for current matrix Value. Note that this doesn't correctly extract scale from matrix, as that is too difficcult. Insted it does simple extraction, which will work for identity, translation and scaling matrices (but e.g. will fail miserably (generate nonsense results) when looking at some rotation matrices).
| `class function TypeName: string; override;`
| `procedure Send(const AValue: TMatrix4Single); virtual; overload;`
### Properties
| `property Value: TMatrix4Single read FValue write FValue;`
Generated by PasDoc 0.13.0 on 2013-08-17 21:27:15