Class TSFImage

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TSFImage = class(TVRMLSingleField)

Description

no description available, TVRMLSingleField description follows
no description available, TVRMLField description follows

Base class for all VRML 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 TVRMLField descendants):

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

  2. Assignment tries to copy everything: name, default value, IsClause*, Exposed, and of course current value.

    If you want to copy only the current value, use AssignValue (or AssignLerp, where available).

Hierarchy

Overview

Fields

Public Value: TImage;

Methods

Protected procedure SaveToStreamValue(SaveProperties: TVRMLSaveToStreamProperties); override;
Public constructor Create(const AName: string; const AValue: TImage);
Public constructor CreateUndefined(const AName: string); override;
Public destructor Destroy; override;
Public procedure Parse(Lexer: TVRMLLexer; IsClauseAllowed: boolean); override;
Public function Equals(SecondValue: TVRMLField; const EqualityEpsilon: Single): boolean; override;
Public procedure Assign(Source: TPersistent); override;
Public procedure AssignValue(Source: TVRMLField); override;
Public class function VRMLTypeName: string; override;

Description

Fields

Public Value: TImage;

Value is owned by this object - i.e. in destructor we do Value.Free.

Value may be IsNull, and then we know that there is no image recorded in this field. Value may never be nil. Remember — Value is freed by this object, but if you're altering it in any other way, you're responsible for good memory managing.

Methods

Protected procedure SaveToStreamValue(SaveProperties: TVRMLSaveToStreamProperties); override;
 
Public constructor Create(const AName: string; const AValue: TImage);
 
Parameters
AValue
is the initial value for Value.

Note - our constructor COPIES passed reference AValue, not it's contents (I mean, we do Value := AValue, NOT Value := ImageCopy(AValue), so don't Free image given to us (at least, don't do this without clearing our Value field)). You can pass AValue = nil, then Value will be inited to null image TRGBImage.Create.

Public constructor CreateUndefined(const AName: string); override;
 
Public destructor Destroy; override;
 
Public procedure Parse(Lexer: TVRMLLexer; IsClauseAllowed: boolean); override;
 
Public function Equals(SecondValue: TVRMLField; const EqualityEpsilon: Single): boolean; override;
 
Public procedure Assign(Source: TPersistent); override;
 
Public procedure AssignValue(Source: TVRMLField); override;
 
Public class function VRMLTypeName: string; override;
 

Generated by PasDoc 0.10.0 on 2008-02-25 00:00:40