Class TSFMatrix4f

DescriptionHierarchyFieldsMethodsProperties

Unit

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):

  1. There are some exceptions, but usually assignment is possible only when source and destination field classes are equal.

  2. 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

Methods

Protected procedure SaveToStreamValue(Writer: TX3DWriter); override;
Public constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: TMatrix4Single);
Public procedure ParseValue(Lexer: TX3DLexer; Reader: TX3DReader); override;
Public function EqualsDefaultValue: boolean; override;
Public function Equals(SecondValue: TX3DField; const EqualityEpsilon: Double): boolean; override;
Public function FastEqualsValue(SecondValue: TX3DField): boolean; override;
Public procedure AssignLerp(const A: Double; Value1, Value2: TX3DField); override;
Public function CanAssignLerp: boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure AssignValue(Source: TX3DField); override;
Public procedure AssignDefaultValueFromValue; override;
Public function TransformScale: Single;
Public class function TypeName: string; override;
Public class function CreateEvent(const AParentNode: TX3DFileItem; const AName: string; const AInEvent: boolean): TX3DEvent; override;
Public procedure Send(const AValue: TMatrix4Single); virtual; overload;

Properties

Public property Value: TMatrix4Single read FValue write FValue;

Description

Methods

Protected procedure SaveToStreamValue(Writer: TX3DWriter); override;
 
Public constructor Create(AParentNode: TX3DFileItem; const AName: string; const AValue: TMatrix4Single);
 
Public procedure ParseValue(Lexer: TX3DLexer; Reader: TX3DReader); override;
 
Public function EqualsDefaultValue: boolean; override;
 
Public function Equals(SecondValue: TX3DField; const EqualityEpsilon: Double): boolean; override;
 
Public function FastEqualsValue(SecondValue: TX3DField): boolean; override;
 
Public procedure AssignLerp(const A: Double; Value1, Value2: TX3DField); override;
 
Public function CanAssignLerp: boolean; override;
 
Public procedure Assign(Source: TPersistent); override;
 
Public procedure AssignValue(Source: TX3DField); override;
 
Public procedure AssignDefaultValueFromValue; override;
 
Public 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).

Public class function TypeName: string; override;
 
Public class function CreateEvent(const AParentNode: TX3DFileItem; const AName: string; const AInEvent: boolean): TX3DEvent; override;
 
Public procedure Send(const AValue: TMatrix4Single); virtual; overload;
 

Properties

Public property Value: TMatrix4Single read FValue write FValue;
 

Generated by PasDoc 0.13.0 on 2014-08-30 12:10:45