Class TVector2List

Unit

Declaration

type TVector2List = class(specialize TStructList<TVector2>)

Description

List of TVector2. Note that the notification mechanism (OnNotify) is broken here by routines like AddRange and AddSubRange (for maximum speed).

Hierarchy

Overview

Methods

Public function MinMax(out Min, Max: TVector2): boolean;
Public procedure AssignLerp(const Fraction: Single; V1, V2: TVector2List; Index1, Index2, ACount: Integer); overload;
Public procedure AssignLerp(const Fraction: Single; const V1, V2: TVector2List); overload;
Public procedure AddRange(const Source: TVector2List);
Public procedure AddSubRange(const Source: TVector2List; const Index, AddCount: Integer);
Public procedure AddListRange(const Source: TVector2List; const Index, AddCount: Integer); deprecated 'use AddSubRange';
Public function Equals(SecondValue: TObject): boolean; override;
Public function PerfectlyEquals(const SecondValue: TObject): boolean;

Description

Methods

Public function MinMax(out Min, Max: TVector2): boolean;

Calculate minimum and maximum values for both dimensions of this set of points. Returns False when Count = 0.

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

Assign linear interpolation between two other vector 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 AssignLerp(const Fraction: Single; const V1, V2: TVector2List); overload;

Assign linear interpolation between two other vector arrays.

Exceptions raised
EListsDifferentCount
If V1 and V2 have different count.
Public procedure AddRange(const Source: TVector2List);
 
Public procedure AddSubRange(const Source: TVector2List; const Index, AddCount: Integer);
 
Public procedure AddListRange(const Source: TVector2List; const Index, AddCount: Integer); deprecated 'use AddSubRange';

Warning: this symbol is deprecated: use AddSubRange

 
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(const 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.