Class TSingleList

Unit

Declaration

type TSingleList = class(TStructList<Single>)

Description

No description available, ancestor TStructList description follows

List of structures. This is just TList class from Generics.Collections, with some useful helpers.

Hierarchy

Overview

Methods

Public procedure AppendFloats(Floats: TFloatList);
Public function ToDouble: TDoubleList;
Public procedure Assign(const Source: TDoubleList); overload;
Public procedure AssignLerp(const Fraction: Single; V1, V2: TSingleList; Index1, Index2, ACount: Integer); overload;
Public procedure AddSubRange(Source: TSingleList; Index, AddCount: Integer);
Public procedure AddListRange(Source: TSingleList; Index, AddCount: Integer); deprecated 'use AddSubRange';
Public procedure AssignLerp(const Fraction: Single; const V1, V2: TSingleList); overload;
Public function Equals(SecondValue: TObject): boolean; override;
Public function PerfectlyEquals(SecondValue: TObject): boolean;

Description

Methods

Public procedure AppendFloats(Floats: TFloatList);
 
Public function ToDouble: TDoubleList;
 
Public procedure Assign(const Source: TDoubleList); overload;

Assign value from TDoubleList, converting to double-precision.

Public procedure AssignLerp(const Fraction: Single; V1, V2: TSingleList; Index1, Index2, ACount: Integer); overload;

Assign linear interpolation between two other float arrays. We take ACount items, from V1[Index1 ... Index1 + ACount - 1] and V2[Index2 ... Index2 + ACount - 1], and interpolate between them like normal Lerp functions.

It's Ok for both V1 and V2 to be the same objects. But their ranges should not overlap, for future optimizations (although it's Ok for current implementation).

Public procedure AddSubRange(Source: TSingleList; Index, AddCount: Integer);
 
Public procedure AddListRange(Source: TSingleList; Index, AddCount: Integer); deprecated 'use AddSubRange';

Warning: this symbol is deprecated: use AddSubRange

 
Public procedure AssignLerp(const Fraction: Single; const V1, V2: TSingleList); overload;

Assign linear interpolation between two other vector arrays.

Exceptions raised
EListsDifferentCount
If V1 and V2 have different count.
Public function Equals(SecondValue: TObject): boolean; override;

Does the SecondValue have equal length and content. The values are compared with an Epsilon tolerance, as usual for floating-point values.

Public function PerfectlyEquals(SecondValue: TObject): boolean;

Does the SecondValue have equal length and content. The values are compared perfectly, without any tolerance for difference.


Generated by PasDoc 0.15.0.