Class TVector3List
Unit
Declaration
type TVector3List = class(specialize TStructList<TVector3>)
Description
List of TVector3. Note that the notification mechanism (OnNotify) is broken here by routines like AddRange and AddSubRange (for maximum speed).
Hierarchy
 TObject
 TList
 TStructList
 TVector3List
Overview
Methods
procedure AssignNegated(const Source: TVector3List); deprecated 'use Assign and Negate separately'; 

procedure Negate; 

procedure Normalize; 

procedure MultiplyComponents(const V: TVector3); 

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

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

procedure AssignLerpNormalize(const Fraction: Single; V1, V2: TVector3List; Index1, Index2, ACount: Integer); 

procedure AssignLerpRgbInHsv(const Fraction: Single; V1, V2: TVector3List; Index1, Index2, ACount: Integer); 

procedure AddRange(const Source: TVector3List); 

procedure AddSubRange(const Source: TVector3List; const Index, AddCount: Integer); 

procedure AddListRange(const Source: TVector3List; const Index, AddCount: Integer); deprecated 'use AddSubRange'; 

procedure AddRangeTransformed(const Source: TVector3List; const Transform: TMatrix4); 

function ToVector4(const W: Single): TVector4List; 

function MergeCloseVertexes(MergeDistance: Single): Cardinal; 

function Equals(SecondValue: TObject): boolean; override; 

function PerfectlyEquals(const SecondValue: TObject): boolean; 
Description
Methods
procedure AssignNegated(const Source: TVector3List); deprecated 'use Assign and Negate separately'; 

Warning: this symbol is deprecated: use Assign and Negate separately 
procedure Negate; 

Negate all items. 
procedure Normalize; 

Normalize all items. Zero vectors are left as zero. 
procedure MultiplyComponents(const V: TVector3); 

Multiply each item, componentwise, with V. 
procedure AssignLerp(const Fraction: Single; V1, V2: TVector3List; 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). 
procedure AssignLerp(const Fraction: Single; const V1, V2: TVector3List); overload; 

Assign linear interpolation between two other vector arrays. Exceptions raised

procedure AssignLerpNormalize(const Fraction: Single; V1, V2: TVector3List; Index1, Index2, ACount: Integer); 

Assign linear interpolation between two other vector arrays, and normalize resulting vectors. See also

procedure AssignLerpRgbInHsv(const Fraction: Single; V1, V2: TVector3List; Index1, Index2, ACount: Integer); 

Assign linear interpolation between two other vector arrays, treating vectors as RGB colors and interpolating in HSV space. See also

procedure AddRange(const Source: TVector3List); 

procedure AddSubRange(const Source: TVector3List; const Index, AddCount: Integer); 

procedure AddListRange(const Source: TVector3List; const Index, AddCount: Integer); deprecated 'use AddSubRange'; 

Warning: this symbol is deprecated: use AddSubRange 
procedure AddRangeTransformed(const Source: TVector3List; const Transform: TMatrix4); 

function ToVector4(const W: Single): TVector4List; 

Convert to TVector4List, with 4th vector component in new array set to constant W. 
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 floatingpoint values. 
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.