|
- {$IF DEFINED(__VECTOR_HELPER_INTERFACE)}
- {$IFDEF __HELPER}
- type __HELPER = type helper for __VEC
- public
- {$IF __SIZE = 2}
- class function Create(const x, y: __IMPL.TBaseType): __IMPL.TVector2; static; inline;
- {$ELSEIF __SIZE = 3}
- class function Create(const x, y, z: __IMPL.TBaseType): __IMPL.TVector3; static; inline;
- {$ELSEIF __SIZE = 4}
- class function Create(const x, y, z, w: __IMPL.TBaseType): __IMPL.TVector4; static; inline;
- {$ELSE}
- {$ERROR only vectors of size 2, 3 or 4 are supported}
- {$ENDIF}
-
- {$IFDEF __MAXCOLOR}
- function ToColor: TColor;
- {$ENDIF}
-
- function ToString(const aRound: Integer = -3): String; inline;
- class function FromString(const s: String): __VEC; static; inline;
- class function TryFromString(const s: String; out v: __VEC): Boolean; static; inline;
- class function Zero: __VEC; static; inline;
-
- {$IF __SIZE = 2}
- function x: __IMPL.TBaseType; inline;
- function y: __IMPL.TBaseType; inline;
- function yx: __IMPL.TVector2; inline;
- {$ENDIF}
-
- {$IF __SIZE = 3}
- function x: __IMPL.TBaseType; inline;
- function y: __IMPL.TBaseType; inline;
- function z: __IMPL.TBaseType; inline;
-
- function xx: __IMPL.TVector2; inline;
- function xy: __IMPL.TVector2; inline;
- function xz: __IMPL.TVector2; inline;
- function yx: __IMPL.TVector2; inline;
- function yy: __IMPL.TVector2; inline;
- function yz: __IMPL.TVector2; inline;
- function zx: __IMPL.TVector2; inline;
- function zy: __IMPL.TVector2; inline;
- function zz: __IMPL.TVector2; inline;
-
- function xxx: __IMPL.TVector3; inline;
- function xxy: __IMPL.TVector3; inline;
- function xxz: __IMPL.TVector3; inline;
- function xyx: __IMPL.TVector3; inline;
- function xyy: __IMPL.TVector3; inline;
- function xyz: __IMPL.TVector3; inline;
- function xzx: __IMPL.TVector3; inline;
- function xzy: __IMPL.TVector3; inline;
- function xzz: __IMPL.TVector3; inline;
-
- function yxx: __IMPL.TVector3; inline;
- function yxy: __IMPL.TVector3; inline;
- function yxz: __IMPL.TVector3; inline;
- function yyx: __IMPL.TVector3; inline;
- function yyy: __IMPL.TVector3; inline;
- function yyz: __IMPL.TVector3; inline;
- function yzx: __IMPL.TVector3; inline;
- function yzy: __IMPL.TVector3; inline;
- function yzz: __IMPL.TVector3; inline;
-
- function zxx: __IMPL.TVector3; inline;
- function zxy: __IMPL.TVector3; inline;
- function zxz: __IMPL.TVector3; inline;
- function zyx: __IMPL.TVector3; inline;
- function zyy: __IMPL.TVector3; inline;
- function zyz: __IMPL.TVector3; inline;
- function zzx: __IMPL.TVector3; inline;
- function zzy: __IMPL.TVector3; inline;
- function zzz: __IMPL.TVector3; inline;
- {$ENDIF}
-
- {$IF __SIZE = 4}
- function x: __IMPL.TBaseType; inline;
- function y: __IMPL.TBaseType; inline;
- function z: __IMPL.TBaseType; inline;
- function w: __IMPL.TBaseType; inline;
-
- function xx: __IMPL.TVector2; inline;
- function xy: __IMPL.TVector2; inline;
- function xz: __IMPL.TVector2; inline;
- function xw: __IMPL.TVector2; inline;
- function yx: __IMPL.TVector2; inline;
- function yy: __IMPL.TVector2; inline;
- function yz: __IMPL.TVector2; inline;
- function yw: __IMPL.TVector2; inline;
- function zx: __IMPL.TVector2; inline;
- function zy: __IMPL.TVector2; inline;
- function zz: __IMPL.TVector2; inline;
- function zw: __IMPL.TVector2; inline;
- function wx: __IMPL.TVector2; inline;
- function wy: __IMPL.TVector2; inline;
- function wz: __IMPL.TVector2; inline;
- function ww: __IMPL.TVector2; inline;
-
- function xxx: __IMPL.TVector3; inline;
- function xxy: __IMPL.TVector3; inline;
- function xxz: __IMPL.TVector3; inline;
- function xxw: __IMPL.TVector3; inline;
- function xyx: __IMPL.TVector3; inline;
- function xyy: __IMPL.TVector3; inline;
- function xyz: __IMPL.TVector3; inline;
- function xyw: __IMPL.TVector3; inline;
- function xzx: __IMPL.TVector3; inline;
- function xzy: __IMPL.TVector3; inline;
- function xzz: __IMPL.TVector3; inline;
- function xzw: __IMPL.TVector3; inline;
- function xwx: __IMPL.TVector3; inline;
- function xwy: __IMPL.TVector3; inline;
- function xwz: __IMPL.TVector3; inline;
- function xww: __IMPL.TVector3; inline;
- function yxx: __IMPL.TVector3; inline;
- function yxy: __IMPL.TVector3; inline;
- function yxz: __IMPL.TVector3; inline;
- function yxw: __IMPL.TVector3; inline;
- function yyx: __IMPL.TVector3; inline;
- function yyy: __IMPL.TVector3; inline;
- function yyz: __IMPL.TVector3; inline;
- function yyw: __IMPL.TVector3; inline;
- function yzx: __IMPL.TVector3; inline;
- function yzy: __IMPL.TVector3; inline;
- function yzz: __IMPL.TVector3; inline;
- function yzw: __IMPL.TVector3; inline;
- function ywx: __IMPL.TVector3; inline;
- function ywy: __IMPL.TVector3; inline;
- function ywz: __IMPL.TVector3; inline;
- function yww: __IMPL.TVector3; inline;
- function zxx: __IMPL.TVector3; inline;
- function zxy: __IMPL.TVector3; inline;
- function zxz: __IMPL.TVector3; inline;
- function zxw: __IMPL.TVector3; inline;
- function zyx: __IMPL.TVector3; inline;
- function zyy: __IMPL.TVector3; inline;
- function zyz: __IMPL.TVector3; inline;
- function zyw: __IMPL.TVector3; inline;
- function zzx: __IMPL.TVector3; inline;
- function zzy: __IMPL.TVector3; inline;
- function zzz: __IMPL.TVector3; inline;
- function zzw: __IMPL.TVector3; inline;
- function zwx: __IMPL.TVector3; inline;
- function zwy: __IMPL.TVector3; inline;
- function zwz: __IMPL.TVector3; inline;
- function zww: __IMPL.TVector3; inline;
- function wxx: __IMPL.TVector3; inline;
- function wxy: __IMPL.TVector3; inline;
- function wxz: __IMPL.TVector3; inline;
- function wxw: __IMPL.TVector3; inline;
- function wyx: __IMPL.TVector3; inline;
- function wyy: __IMPL.TVector3; inline;
- function wyz: __IMPL.TVector3; inline;
- function wyw: __IMPL.TVector3; inline;
- function wzx: __IMPL.TVector3; inline;
- function wzy: __IMPL.TVector3; inline;
- function wzz: __IMPL.TVector3; inline;
- function wzw: __IMPL.TVector3; inline;
- function wwx: __IMPL.TVector3; inline;
- function wwy: __IMPL.TVector3; inline;
- function wwz: __IMPL.TVector3; inline;
- function www: __IMPL.TVector3; inline;
-
- function xxxx: __IMPL.TVector4; inline;
- function xxxy: __IMPL.TVector4; inline;
- function xxxz: __IMPL.TVector4; inline;
- function xxxw: __IMPL.TVector4; inline;
- function xxyx: __IMPL.TVector4; inline;
- function xxyy: __IMPL.TVector4; inline;
- function xxyz: __IMPL.TVector4; inline;
- function xxyw: __IMPL.TVector4; inline;
- function xxzx: __IMPL.TVector4; inline;
- function xxzy: __IMPL.TVector4; inline;
- function xxzz: __IMPL.TVector4; inline;
- function xxzw: __IMPL.TVector4; inline;
- function xxwx: __IMPL.TVector4; inline;
- function xxwy: __IMPL.TVector4; inline;
- function xxwz: __IMPL.TVector4; inline;
- function xxww: __IMPL.TVector4; inline;
- function xyxx: __IMPL.TVector4; inline;
- function xyxy: __IMPL.TVector4; inline;
- function xyxz: __IMPL.TVector4; inline;
- function xyxw: __IMPL.TVector4; inline;
- function xyyx: __IMPL.TVector4; inline;
- function xyyy: __IMPL.TVector4; inline;
- function xyyz: __IMPL.TVector4; inline;
- function xyyw: __IMPL.TVector4; inline;
- function xyzx: __IMPL.TVector4; inline;
- function xyzy: __IMPL.TVector4; inline;
- function xyzz: __IMPL.TVector4; inline;
- function xyzw: __IMPL.TVector4; inline;
- function xywx: __IMPL.TVector4; inline;
- function xywy: __IMPL.TVector4; inline;
- function xywz: __IMPL.TVector4; inline;
- function xyww: __IMPL.TVector4; inline;
- function xzxx: __IMPL.TVector4; inline;
- function xzxy: __IMPL.TVector4; inline;
- function xzxz: __IMPL.TVector4; inline;
- function xzxw: __IMPL.TVector4; inline;
- function xzyx: __IMPL.TVector4; inline;
- function xzyy: __IMPL.TVector4; inline;
- function xzyz: __IMPL.TVector4; inline;
- function xzyw: __IMPL.TVector4; inline;
- function xzzx: __IMPL.TVector4; inline;
- function xzzy: __IMPL.TVector4; inline;
- function xzzz: __IMPL.TVector4; inline;
- function xzzw: __IMPL.TVector4; inline;
- function xzwx: __IMPL.TVector4; inline;
- function xzwy: __IMPL.TVector4; inline;
- function xzwz: __IMPL.TVector4; inline;
- function xzww: __IMPL.TVector4; inline;
- function xwxx: __IMPL.TVector4; inline;
- function xwxy: __IMPL.TVector4; inline;
- function xwxz: __IMPL.TVector4; inline;
- function xwxw: __IMPL.TVector4; inline;
- function xwyx: __IMPL.TVector4; inline;
- function xwyy: __IMPL.TVector4; inline;
- function xwyz: __IMPL.TVector4; inline;
- function xwyw: __IMPL.TVector4; inline;
- function xwzx: __IMPL.TVector4; inline;
- function xwzy: __IMPL.TVector4; inline;
- function xwzz: __IMPL.TVector4; inline;
- function xwzw: __IMPL.TVector4; inline;
- function xwwx: __IMPL.TVector4; inline;
- function xwwy: __IMPL.TVector4; inline;
- function xwwz: __IMPL.TVector4; inline;
- function xwww: __IMPL.TVector4; inline;
- function yxxx: __IMPL.TVector4; inline;
- function yxxy: __IMPL.TVector4; inline;
- function yxxz: __IMPL.TVector4; inline;
- function yxxw: __IMPL.TVector4; inline;
- function yxyx: __IMPL.TVector4; inline;
- function yxyy: __IMPL.TVector4; inline;
- function yxyz: __IMPL.TVector4; inline;
- function yxyw: __IMPL.TVector4; inline;
- function yxzx: __IMPL.TVector4; inline;
- function yxzy: __IMPL.TVector4; inline;
- function yxzz: __IMPL.TVector4; inline;
- function yxzw: __IMPL.TVector4; inline;
- function yxwx: __IMPL.TVector4; inline;
- function yxwy: __IMPL.TVector4; inline;
- function yxwz: __IMPL.TVector4; inline;
- function yxww: __IMPL.TVector4; inline;
- function yyxx: __IMPL.TVector4; inline;
- function yyxy: __IMPL.TVector4; inline;
- function yyxz: __IMPL.TVector4; inline;
- function yyxw: __IMPL.TVector4; inline;
- function yyyx: __IMPL.TVector4; inline;
- function yyyy: __IMPL.TVector4; inline;
- function yyyz: __IMPL.TVector4; inline;
- function yyyw: __IMPL.TVector4; inline;
- function yyzx: __IMPL.TVector4; inline;
- function yyzy: __IMPL.TVector4; inline;
- function yyzz: __IMPL.TVector4; inline;
- function yyzw: __IMPL.TVector4; inline;
- function yywx: __IMPL.TVector4; inline;
- function yywy: __IMPL.TVector4; inline;
- function yywz: __IMPL.TVector4; inline;
- function yyww: __IMPL.TVector4; inline;
- function yzxx: __IMPL.TVector4; inline;
- function yzxy: __IMPL.TVector4; inline;
- function yzxz: __IMPL.TVector4; inline;
- function yzxw: __IMPL.TVector4; inline;
- function yzyx: __IMPL.TVector4; inline;
- function yzyy: __IMPL.TVector4; inline;
- function yzyz: __IMPL.TVector4; inline;
- function yzyw: __IMPL.TVector4; inline;
- function yzzx: __IMPL.TVector4; inline;
- function yzzy: __IMPL.TVector4; inline;
- function yzzz: __IMPL.TVector4; inline;
- function yzzw: __IMPL.TVector4; inline;
- function yzwx: __IMPL.TVector4; inline;
- function yzwy: __IMPL.TVector4; inline;
- function yzwz: __IMPL.TVector4; inline;
- function yzww: __IMPL.TVector4; inline;
- function ywxx: __IMPL.TVector4; inline;
- function ywxy: __IMPL.TVector4; inline;
- function ywxz: __IMPL.TVector4; inline;
- function ywxw: __IMPL.TVector4; inline;
- function ywyx: __IMPL.TVector4; inline;
- function ywyy: __IMPL.TVector4; inline;
- function ywyz: __IMPL.TVector4; inline;
- function ywyw: __IMPL.TVector4; inline;
- function ywzx: __IMPL.TVector4; inline;
- function ywzy: __IMPL.TVector4; inline;
- function ywzz: __IMPL.TVector4; inline;
- function ywzw: __IMPL.TVector4; inline;
- function ywwx: __IMPL.TVector4; inline;
- function ywwy: __IMPL.TVector4; inline;
- function ywwz: __IMPL.TVector4; inline;
- function ywww: __IMPL.TVector4; inline;
- function zxxx: __IMPL.TVector4; inline;
- function zxxy: __IMPL.TVector4; inline;
- function zxxz: __IMPL.TVector4; inline;
- function zxxw: __IMPL.TVector4; inline;
- function zxyx: __IMPL.TVector4; inline;
- function zxyy: __IMPL.TVector4; inline;
- function zxyz: __IMPL.TVector4; inline;
- function zxyw: __IMPL.TVector4; inline;
- function zxzx: __IMPL.TVector4; inline;
- function zxzy: __IMPL.TVector4; inline;
- function zxzz: __IMPL.TVector4; inline;
- function zxzw: __IMPL.TVector4; inline;
- function zxwx: __IMPL.TVector4; inline;
- function zxwy: __IMPL.TVector4; inline;
- function zxwz: __IMPL.TVector4; inline;
- function zxww: __IMPL.TVector4; inline;
- function zyxx: __IMPL.TVector4; inline;
- function zyxy: __IMPL.TVector4; inline;
- function zyxz: __IMPL.TVector4; inline;
- function zyxw: __IMPL.TVector4; inline;
- function zyyx: __IMPL.TVector4; inline;
- function zyyy: __IMPL.TVector4; inline;
- function zyyz: __IMPL.TVector4; inline;
- function zyyw: __IMPL.TVector4; inline;
- function zyzx: __IMPL.TVector4; inline;
- function zyzy: __IMPL.TVector4; inline;
- function zyzz: __IMPL.TVector4; inline;
- function zyzw: __IMPL.TVector4; inline;
- function zywx: __IMPL.TVector4; inline;
- function zywy: __IMPL.TVector4; inline;
- function zywz: __IMPL.TVector4; inline;
- function zyww: __IMPL.TVector4; inline;
- function zzxx: __IMPL.TVector4; inline;
- function zzxy: __IMPL.TVector4; inline;
- function zzxz: __IMPL.TVector4; inline;
- function zzxw: __IMPL.TVector4; inline;
- function zzyx: __IMPL.TVector4; inline;
- function zzyy: __IMPL.TVector4; inline;
- function zzyz: __IMPL.TVector4; inline;
- function zzyw: __IMPL.TVector4; inline;
- function zzzx: __IMPL.TVector4; inline;
- function zzzy: __IMPL.TVector4; inline;
- function zzzz: __IMPL.TVector4; inline;
- function zzzw: __IMPL.TVector4; inline;
- function zzwx: __IMPL.TVector4; inline;
- function zzwy: __IMPL.TVector4; inline;
- function zzwz: __IMPL.TVector4; inline;
- function zzww: __IMPL.TVector4; inline;
- function zwxx: __IMPL.TVector4; inline;
- function zwxy: __IMPL.TVector4; inline;
- function zwxz: __IMPL.TVector4; inline;
- function zwxw: __IMPL.TVector4; inline;
- function zwyx: __IMPL.TVector4; inline;
- function zwyy: __IMPL.TVector4; inline;
- function zwyz: __IMPL.TVector4; inline;
- function zwyw: __IMPL.TVector4; inline;
- function zwzx: __IMPL.TVector4; inline;
- function zwzy: __IMPL.TVector4; inline;
- function zwzz: __IMPL.TVector4; inline;
- function zwzw: __IMPL.TVector4; inline;
- function zwwx: __IMPL.TVector4; inline;
- function zwwy: __IMPL.TVector4; inline;
- function zwwz: __IMPL.TVector4; inline;
- function zwww: __IMPL.TVector4; inline;
- function wxxx: __IMPL.TVector4; inline;
- function wxxy: __IMPL.TVector4; inline;
- function wxxz: __IMPL.TVector4; inline;
- function wxxw: __IMPL.TVector4; inline;
- function wxyx: __IMPL.TVector4; inline;
- function wxyy: __IMPL.TVector4; inline;
- function wxyz: __IMPL.TVector4; inline;
- function wxyw: __IMPL.TVector4; inline;
- function wxzx: __IMPL.TVector4; inline;
- function wxzy: __IMPL.TVector4; inline;
- function wxzz: __IMPL.TVector4; inline;
- function wxzw: __IMPL.TVector4; inline;
- function wxwx: __IMPL.TVector4; inline;
- function wxwy: __IMPL.TVector4; inline;
- function wxwz: __IMPL.TVector4; inline;
- function wxww: __IMPL.TVector4; inline;
- function wyxx: __IMPL.TVector4; inline;
- function wyxy: __IMPL.TVector4; inline;
- function wyxz: __IMPL.TVector4; inline;
- function wyxw: __IMPL.TVector4; inline;
- function wyyx: __IMPL.TVector4; inline;
- function wyyy: __IMPL.TVector4; inline;
- function wyyz: __IMPL.TVector4; inline;
- function wyyw: __IMPL.TVector4; inline;
- function wyzx: __IMPL.TVector4; inline;
- function wyzy: __IMPL.TVector4; inline;
- function wyzz: __IMPL.TVector4; inline;
- function wyzw: __IMPL.TVector4; inline;
- function wywx: __IMPL.TVector4; inline;
- function wywy: __IMPL.TVector4; inline;
- function wywz: __IMPL.TVector4; inline;
- function wyww: __IMPL.TVector4; inline;
- function wzxx: __IMPL.TVector4; inline;
- function wzxy: __IMPL.TVector4; inline;
- function wzxz: __IMPL.TVector4; inline;
- function wzxw: __IMPL.TVector4; inline;
- function wzyx: __IMPL.TVector4; inline;
- function wzyy: __IMPL.TVector4; inline;
- function wzyz: __IMPL.TVector4; inline;
- function wzyw: __IMPL.TVector4; inline;
- function wzzx: __IMPL.TVector4; inline;
- function wzzy: __IMPL.TVector4; inline;
- function wzzz: __IMPL.TVector4; inline;
- function wzzw: __IMPL.TVector4; inline;
- function wzwx: __IMPL.TVector4; inline;
- function wzwy: __IMPL.TVector4; inline;
- function wzwz: __IMPL.TVector4; inline;
- function wzww: __IMPL.TVector4; inline;
- function wwxx: __IMPL.TVector4; inline;
- function wwxy: __IMPL.TVector4; inline;
- function wwxz: __IMPL.TVector4; inline;
- function wwxw: __IMPL.TVector4; inline;
- function wwyx: __IMPL.TVector4; inline;
- function wwyy: __IMPL.TVector4; inline;
- function wwyz: __IMPL.TVector4; inline;
- function wwyw: __IMPL.TVector4; inline;
- function wwzx: __IMPL.TVector4; inline;
- function wwzy: __IMPL.TVector4; inline;
- function wwzz: __IMPL.TVector4; inline;
- function wwzw: __IMPL.TVector4; inline;
- function wwwx: __IMPL.TVector4; inline;
- function wwwy: __IMPL.TVector4; inline;
- function wwwz: __IMPL.TVector4; inline;
- function wwww: __IMPL.TVector4; inline;
- {$ENDIF}
- end;
- operator = (const v1, v2: __VEC): Boolean; inline;
- {$IFDEF __HELPER_I}
- type __HELPER_I = type helper(__HELPER) for __VEC
- public
- function Length: Double; inline;
- {$IF __SIZE <> 4}
- function Add(const v: __VEC): __VEC; inline;
- function Subtract(const v: __VEC): __VEC; inline;
- {$ENDIF}
- function Multiply(const v: __IMPL.TBaseType): __VEC; inline;
- function Clamp(const min, max: __VEC): __VEC; inline;
- function Clamp(const min, max: __IMPL.TBaseType): __VEC; inline;
- end;
- {$IF __SIZE <> 4}
- operator + (const v1, v2: __VEC): __VEC; inline;
- operator - (const v1, v2: __VEC): __VEC; inline;
- {$ENDIF}
- {$IFDEF __HELPER_F}
- type __HELPER_F = type helper(__HELPER_I) for __VEC
- public
- function Normalize: __VEC; inline;
- function Divide(const v: __IMPL.TBaseType): __VEC; inline;
- function Dot(const v: __VEC): __IMPL.TBaseType; inline;
- {$IF __SIZE <> 4}
- function Angle(const v: __VEC): Double; inline;
- {$ENDIF}
- {$IF __SIZE = 2}
- function Angle2(const v: __VEC): Double; inline;
- {$ENDIF}
- end;
- operator * (const v: __VEC; const s: __IMPL.TBaseType): __VEC;
- operator * (const s: __IMPL.TBaseType; const v: __VEC): __VEC;
- operator * (const v1, v2: __VEC): __IMPL.TBaseType;
- {$ENDIF}
- {$ENDIF}
- {$ENDIF}
- {$ELSEIF DEFINED (__VECTOR_HELPER_IMPL)}
- {$IFDEF __HELPER}
- {$IF __SIZE = 2}
- class function __HELPER.Create(const x, y: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Vector2(x, y);
- end;
- {$ELSEIF __SIZE = 3}
- class function __HELPER.Create(const x, y, z: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Vector3(x, y, z);
- end;
- {$ELSEIF __SIZE = 4}
- class function __HELPER.Create(const x, y, z, w: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Vector4(x, y, z, w);
- end;
- {$ENDIF}
-
- {$IFDEF __MAXCOLOR}
- function __HELPER.ToColor: TColor;
- var tmp: __VEC;
- begin
- tmp := __IMPL.Clamp(self, 0, __MAXCOLOR);
- result :=
- (Round(255 * (tmp[0] / __MAXCOLOR)) shl 0) or
- (Round(255 * (tmp[1] / __MAXCOLOR)) shl 8) or
- (Round(255 * (tmp[2] / __MAXCOLOR)) shl 16);
- end;
- {$ENDIF}
-
- function __HELPER.ToString(const aRound: Integer): String;
- begin
- result := __IMPL.ToString(self, aRound);
- end;
-
- class function __HELPER.FromString(const s: String): __VEC;
- begin
- if not __IMPL.TryFromString(s, result) then
- result := Zero;
- end;
-
- class function __HELPER.TryFromString(const s: String; out v: __VEC): Boolean;
- begin
- result := __IMPl.TryFromString(s, v);
- end;
-
- class function __HELPER.Zero: __VEC;
- begin
- FillByte(result{%H-}[0], Length(result) * SizeOf(result[0]), 0);
- end;
-
- {$IF __SIZE = 2}
- function __HELPER.x: __IMPL.TBaseType; begin result := self[0]; end;
- function __HELPER.y: __IMPL.TBaseType; begin result := self[1]; end;
- function __HELPER.yx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[0]); end;
- {$ENDIF}
-
- {$IF __SIZE = 3}
- function __HELPER.x: __IMPL.TBaseType; begin result := self[0]; end;
- function __HELPER.y: __IMPL.TBaseType; begin result := self[1]; end;
- function __HELPER.z: __IMPL.TBaseType; begin result := self[2]; end;
-
- function __HELPER.xx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[0]); end;
- function __HELPER.xy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[1]); end;
- function __HELPER.xz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[2]); end;
- function __HELPER.yx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[0]); end;
- function __HELPER.yy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[1]); end;
- function __HELPER.yz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[2]); end;
- function __HELPER.zx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[0]); end;
- function __HELPER.zy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[1]); end;
- function __HELPER.zz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[2]); end;
-
- function __HELPER.xxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[0]); end;
- function __HELPER.xxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[1]); end;
- function __HELPER.xxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[2]); end;
- function __HELPER.xyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[0]); end;
- function __HELPER.xyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[1]); end;
- function __HELPER.xyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[2]); end;
- function __HELPER.xzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[0]); end;
- function __HELPER.xzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[1]); end;
- function __HELPER.xzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[1]); end;
-
- function __HELPER.yxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[0]); end;
- function __HELPER.yxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[1]); end;
- function __HELPER.yxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[2]); end;
- function __HELPER.yyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[0]); end;
- function __HELPER.yyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[1]); end;
- function __HELPER.yyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[2]); end;
- function __HELPER.yzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[0]); end;
- function __HELPER.yzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[1]); end;
- function __HELPER.yzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[2]); end;
-
- function __HELPER.zxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[0]); end;
- function __HELPER.zxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[1]); end;
- function __HELPER.zxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[2]); end;
- function __HELPER.zyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[0]); end;
- function __HELPER.zyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[1]); end;
- function __HELPER.zyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[2]); end;
- function __HELPER.zzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[0]); end;
- function __HELPER.zzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[1]); end;
- function __HELPER.zzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[2]); end;
- {$ENDIF}
-
- {$IF __SIZE = 4}
- function __Helper.x: __IMPL.TBaseType; begin result := self[0]; end;
- function __Helper.y: __IMPL.TBaseType; begin result := self[1]; end;
- function __Helper.z: __IMPL.TBaseType; begin result := self[2]; end;
- function __Helper.w: __IMPL.TBaseType; begin result := self[3]; end;
-
- function __Helper.xx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[0]); end;
- function __Helper.xy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[1]); end;
- function __Helper.xz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[2]); end;
- function __Helper.xw: __IMPL.TVector2; begin result := __IMPL.Vector2(self[0], self[3]); end;
- function __Helper.yx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[0]); end;
- function __Helper.yy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[1]); end;
- function __Helper.yz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[2]); end;
- function __Helper.yw: __IMPL.TVector2; begin result := __IMPL.Vector2(self[1], self[3]); end;
- function __Helper.zx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[0]); end;
- function __Helper.zy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[1]); end;
- function __Helper.zz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[2]); end;
- function __Helper.zw: __IMPL.TVector2; begin result := __IMPL.Vector2(self[2], self[3]); end;
- function __Helper.wx: __IMPL.TVector2; begin result := __IMPL.Vector2(self[3], self[0]); end;
- function __Helper.wy: __IMPL.TVector2; begin result := __IMPL.Vector2(self[3], self[1]); end;
- function __Helper.wz: __IMPL.TVector2; begin result := __IMPL.Vector2(self[3], self[2]); end;
- function __Helper.ww: __IMPL.TVector2; begin result := __IMPL.Vector2(self[3], self[3]); end;
-
- function __Helper.xxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[0]); end;
- function __Helper.xxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[1]); end;
- function __Helper.xxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[2]); end;
- function __Helper.xxw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[0], self[3]); end;
- function __Helper.xyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[0]); end;
- function __Helper.xyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[1]); end;
- function __Helper.xyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[2]); end;
- function __Helper.xyw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[1], self[3]); end;
- function __Helper.xzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[0]); end;
- function __Helper.xzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[1]); end;
- function __Helper.xzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[2]); end;
- function __Helper.xzw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[2], self[3]); end;
- function __Helper.xwx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[3], self[0]); end;
- function __Helper.xwy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[3], self[1]); end;
- function __Helper.xwz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[3], self[2]); end;
- function __Helper.xww: __IMPL.TVector3; begin result := __IMPL.Vector3(self[0], self[3], self[3]); end;
- function __Helper.yxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[0], self[0]); end;
- function __Helper.yxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[0], self[1]); end;
- function __Helper.yxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[0], self[2]); end;
- function __Helper.yxw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[0], self[3]); end;
- function __Helper.yyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[1], self[0]); end;
- function __Helper.yyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[1], self[1]); end;
- function __Helper.yyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[1], self[2]); end;
- function __Helper.yyw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[1], self[3]); end;
- function __Helper.yzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[2], self[0]); end;
- function __Helper.yzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[2], self[1]); end;
- function __Helper.yzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[2], self[2]); end;
- function __Helper.yzw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[2], self[3]); end;
- function __Helper.ywx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[3], self[0]); end;
- function __Helper.ywy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[3], self[1]); end;
- function __Helper.ywz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[3], self[2]); end;
- function __Helper.yww: __IMPL.TVector3; begin result := __IMPL.Vector3(self[1], self[3], self[3]); end;
- function __Helper.zxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[0], self[0]); end;
- function __Helper.zxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[0], self[1]); end;
- function __Helper.zxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[0], self[2]); end;
- function __Helper.zxw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[0], self[3]); end;
- function __Helper.zyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[1], self[0]); end;
- function __Helper.zyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[1], self[1]); end;
- function __Helper.zyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[1], self[2]); end;
- function __Helper.zyw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[1], self[3]); end;
- function __Helper.zzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[2], self[0]); end;
- function __Helper.zzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[2], self[1]); end;
- function __Helper.zzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[2], self[2]); end;
- function __Helper.zzw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[2], self[3]); end;
- function __Helper.zwx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[3], self[0]); end;
- function __Helper.zwy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[3], self[1]); end;
- function __Helper.zwz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[3], self[2]); end;
- function __Helper.zww: __IMPL.TVector3; begin result := __IMPL.Vector3(self[2], self[3], self[3]); end;
- function __Helper.wxx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[0], self[0]); end;
- function __Helper.wxy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[0], self[1]); end;
- function __Helper.wxz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[0], self[2]); end;
- function __Helper.wxw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[0], self[3]); end;
- function __Helper.wyx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[1], self[0]); end;
- function __Helper.wyy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[1], self[1]); end;
- function __Helper.wyz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[1], self[2]); end;
- function __Helper.wyw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[1], self[3]); end;
- function __Helper.wzx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[2], self[0]); end;
- function __Helper.wzy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[2], self[1]); end;
- function __Helper.wzz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[2], self[2]); end;
- function __Helper.wzw: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[2], self[3]); end;
- function __Helper.wwx: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[3], self[0]); end;
- function __Helper.wwy: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[3], self[1]); end;
- function __Helper.wwz: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[3], self[2]); end;
- function __Helper.www: __IMPL.TVector3; begin result := __IMPL.Vector3(self[3], self[3], self[3]); end;
-
- function __Helper.xxxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[0], self[0]); end;
- function __Helper.xxxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[0], self[1]); end;
- function __Helper.xxxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[0], self[2]); end;
- function __Helper.xxxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[0], self[3]); end;
- function __Helper.xxyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[1], self[0]); end;
- function __Helper.xxyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[1], self[1]); end;
- function __Helper.xxyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[1], self[2]); end;
- function __Helper.xxyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[1], self[3]); end;
- function __Helper.xxzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[2], self[0]); end;
- function __Helper.xxzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[2], self[1]); end;
- function __Helper.xxzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[2], self[2]); end;
- function __Helper.xxzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[2], self[3]); end;
- function __Helper.xxwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[3], self[0]); end;
- function __Helper.xxwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[3], self[1]); end;
- function __Helper.xxwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[3], self[2]); end;
- function __Helper.xxww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[0], self[3], self[3]); end;
- function __Helper.xyxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[0], self[0]); end;
- function __Helper.xyxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[0], self[1]); end;
- function __Helper.xyxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[0], self[2]); end;
- function __Helper.xyxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[0], self[3]); end;
- function __Helper.xyyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[1], self[0]); end;
- function __Helper.xyyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[1], self[1]); end;
- function __Helper.xyyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[1], self[2]); end;
- function __Helper.xyyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[1], self[3]); end;
- function __Helper.xyzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[2], self[0]); end;
- function __Helper.xyzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[2], self[1]); end;
- function __Helper.xyzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[2], self[2]); end;
- function __Helper.xyzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[2], self[3]); end;
- function __Helper.xywx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[3], self[0]); end;
- function __Helper.xywy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[3], self[1]); end;
- function __Helper.xywz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[3], self[2]); end;
- function __Helper.xyww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[1], self[3], self[3]); end;
- function __Helper.xzxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[0], self[0]); end;
- function __Helper.xzxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[0], self[1]); end;
- function __Helper.xzxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[0], self[2]); end;
- function __Helper.xzxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[0], self[3]); end;
- function __Helper.xzyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[1], self[0]); end;
- function __Helper.xzyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[1], self[1]); end;
- function __Helper.xzyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[1], self[2]); end;
- function __Helper.xzyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[1], self[3]); end;
- function __Helper.xzzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[2], self[0]); end;
- function __Helper.xzzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[2], self[1]); end;
- function __Helper.xzzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[2], self[2]); end;
- function __Helper.xzzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[2], self[3]); end;
- function __Helper.xzwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[3], self[0]); end;
- function __Helper.xzwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[3], self[1]); end;
- function __Helper.xzwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[3], self[2]); end;
- function __Helper.xzww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[2], self[3], self[3]); end;
- function __Helper.xwxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[0], self[0]); end;
- function __Helper.xwxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[0], self[1]); end;
- function __Helper.xwxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[0], self[2]); end;
- function __Helper.xwxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[0], self[3]); end;
- function __Helper.xwyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[1], self[0]); end;
- function __Helper.xwyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[1], self[1]); end;
- function __Helper.xwyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[1], self[2]); end;
- function __Helper.xwyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[1], self[3]); end;
- function __Helper.xwzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[2], self[0]); end;
- function __Helper.xwzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[2], self[1]); end;
- function __Helper.xwzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[2], self[2]); end;
- function __Helper.xwzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[2], self[3]); end;
- function __Helper.xwwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[3], self[0]); end;
- function __Helper.xwwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[3], self[1]); end;
- function __Helper.xwwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[3], self[2]); end;
- function __Helper.xwww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[0], self[3], self[3], self[3]); end;
- function __Helper.yxxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[0], self[0]); end;
- function __Helper.yxxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[0], self[1]); end;
- function __Helper.yxxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[0], self[2]); end;
- function __Helper.yxxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[0], self[3]); end;
- function __Helper.yxyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[1], self[0]); end;
- function __Helper.yxyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[1], self[1]); end;
- function __Helper.yxyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[1], self[2]); end;
- function __Helper.yxyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[1], self[3]); end;
- function __Helper.yxzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[2], self[0]); end;
- function __Helper.yxzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[2], self[1]); end;
- function __Helper.yxzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[2], self[2]); end;
- function __Helper.yxzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[2], self[3]); end;
- function __Helper.yxwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[3], self[0]); end;
- function __Helper.yxwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[3], self[1]); end;
- function __Helper.yxwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[3], self[2]); end;
- function __Helper.yxww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[0], self[3], self[3]); end;
- function __Helper.yyxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[0], self[0]); end;
- function __Helper.yyxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[0], self[1]); end;
- function __Helper.yyxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[0], self[2]); end;
- function __Helper.yyxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[0], self[3]); end;
- function __Helper.yyyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[1], self[0]); end;
- function __Helper.yyyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[1], self[1]); end;
- function __Helper.yyyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[1], self[2]); end;
- function __Helper.yyyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[1], self[3]); end;
- function __Helper.yyzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[2], self[0]); end;
- function __Helper.yyzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[2], self[1]); end;
- function __Helper.yyzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[2], self[2]); end;
- function __Helper.yyzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[2], self[3]); end;
- function __Helper.yywx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[3], self[0]); end;
- function __Helper.yywy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[3], self[1]); end;
- function __Helper.yywz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[3], self[2]); end;
- function __Helper.yyww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[1], self[3], self[3]); end;
- function __Helper.yzxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[0], self[0]); end;
- function __Helper.yzxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[0], self[1]); end;
- function __Helper.yzxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[0], self[2]); end;
- function __Helper.yzxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[0], self[3]); end;
- function __Helper.yzyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[1], self[0]); end;
- function __Helper.yzyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[1], self[1]); end;
- function __Helper.yzyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[1], self[2]); end;
- function __Helper.yzyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[1], self[3]); end;
- function __Helper.yzzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[2], self[0]); end;
- function __Helper.yzzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[2], self[1]); end;
- function __Helper.yzzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[2], self[2]); end;
- function __Helper.yzzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[2], self[3]); end;
- function __Helper.yzwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[3], self[0]); end;
- function __Helper.yzwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[3], self[1]); end;
- function __Helper.yzwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[3], self[2]); end;
- function __Helper.yzww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[2], self[3], self[3]); end;
- function __Helper.ywxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[0], self[0]); end;
- function __Helper.ywxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[0], self[1]); end;
- function __Helper.ywxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[0], self[2]); end;
- function __Helper.ywxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[0], self[3]); end;
- function __Helper.ywyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[1], self[0]); end;
- function __Helper.ywyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[1], self[1]); end;
- function __Helper.ywyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[1], self[2]); end;
- function __Helper.ywyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[1], self[3]); end;
- function __Helper.ywzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[2], self[0]); end;
- function __Helper.ywzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[2], self[1]); end;
- function __Helper.ywzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[2], self[2]); end;
- function __Helper.ywzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[2], self[3]); end;
- function __Helper.ywwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[3], self[0]); end;
- function __Helper.ywwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[3], self[1]); end;
- function __Helper.ywwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[3], self[2]); end;
- function __Helper.ywww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[1], self[3], self[3], self[3]); end;
- function __Helper.zxxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[0], self[0]); end;
- function __Helper.zxxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[0], self[1]); end;
- function __Helper.zxxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[0], self[2]); end;
- function __Helper.zxxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[0], self[3]); end;
- function __Helper.zxyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[1], self[0]); end;
- function __Helper.zxyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[1], self[1]); end;
- function __Helper.zxyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[1], self[2]); end;
- function __Helper.zxyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[1], self[3]); end;
- function __Helper.zxzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[2], self[0]); end;
- function __Helper.zxzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[2], self[1]); end;
- function __Helper.zxzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[2], self[2]); end;
- function __Helper.zxzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[2], self[3]); end;
- function __Helper.zxwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[3], self[0]); end;
- function __Helper.zxwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[3], self[1]); end;
- function __Helper.zxwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[3], self[2]); end;
- function __Helper.zxww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[0], self[3], self[3]); end;
- function __Helper.zyxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[0], self[0]); end;
- function __Helper.zyxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[0], self[1]); end;
- function __Helper.zyxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[0], self[2]); end;
- function __Helper.zyxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[0], self[3]); end;
- function __Helper.zyyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[1], self[0]); end;
- function __Helper.zyyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[1], self[1]); end;
- function __Helper.zyyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[1], self[2]); end;
- function __Helper.zyyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[1], self[3]); end;
- function __Helper.zyzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[2], self[0]); end;
- function __Helper.zyzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[2], self[1]); end;
- function __Helper.zyzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[2], self[2]); end;
- function __Helper.zyzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[2], self[3]); end;
- function __Helper.zywx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[3], self[0]); end;
- function __Helper.zywy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[3], self[1]); end;
- function __Helper.zywz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[3], self[2]); end;
- function __Helper.zyww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[1], self[3], self[3]); end;
- function __Helper.zzxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[0], self[0]); end;
- function __Helper.zzxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[0], self[1]); end;
- function __Helper.zzxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[0], self[2]); end;
- function __Helper.zzxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[0], self[3]); end;
- function __Helper.zzyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[1], self[0]); end;
- function __Helper.zzyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[1], self[1]); end;
- function __Helper.zzyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[1], self[2]); end;
- function __Helper.zzyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[1], self[3]); end;
- function __Helper.zzzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[2], self[0]); end;
- function __Helper.zzzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[2], self[1]); end;
- function __Helper.zzzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[2], self[2]); end;
- function __Helper.zzzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[2], self[3]); end;
- function __Helper.zzwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[3], self[0]); end;
- function __Helper.zzwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[3], self[1]); end;
- function __Helper.zzwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[3], self[2]); end;
- function __Helper.zzww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[2], self[3], self[3]); end;
- function __Helper.zwxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[0], self[0]); end;
- function __Helper.zwxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[0], self[1]); end;
- function __Helper.zwxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[0], self[2]); end;
- function __Helper.zwxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[0], self[3]); end;
- function __Helper.zwyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[1], self[0]); end;
- function __Helper.zwyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[1], self[1]); end;
- function __Helper.zwyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[1], self[2]); end;
- function __Helper.zwyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[1], self[3]); end;
- function __Helper.zwzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[2], self[0]); end;
- function __Helper.zwzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[2], self[1]); end;
- function __Helper.zwzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[2], self[2]); end;
- function __Helper.zwzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[2], self[3]); end;
- function __Helper.zwwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[3], self[0]); end;
- function __Helper.zwwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[3], self[1]); end;
- function __Helper.zwwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[3], self[2]); end;
- function __Helper.zwww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[2], self[3], self[3], self[3]); end;
- function __Helper.wxxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[0], self[0]); end;
- function __Helper.wxxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[0], self[1]); end;
- function __Helper.wxxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[0], self[2]); end;
- function __Helper.wxxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[0], self[3]); end;
- function __Helper.wxyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[1], self[0]); end;
- function __Helper.wxyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[1], self[1]); end;
- function __Helper.wxyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[1], self[2]); end;
- function __Helper.wxyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[1], self[3]); end;
- function __Helper.wxzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[2], self[0]); end;
- function __Helper.wxzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[2], self[1]); end;
- function __Helper.wxzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[2], self[2]); end;
- function __Helper.wxzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[2], self[3]); end;
- function __Helper.wxwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[3], self[0]); end;
- function __Helper.wxwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[3], self[1]); end;
- function __Helper.wxwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[3], self[2]); end;
- function __Helper.wxww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[0], self[3], self[3]); end;
- function __Helper.wyxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[0], self[0]); end;
- function __Helper.wyxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[0], self[1]); end;
- function __Helper.wyxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[0], self[2]); end;
- function __Helper.wyxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[0], self[3]); end;
- function __Helper.wyyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[1], self[0]); end;
- function __Helper.wyyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[1], self[1]); end;
- function __Helper.wyyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[1], self[2]); end;
- function __Helper.wyyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[1], self[3]); end;
- function __Helper.wyzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[2], self[0]); end;
- function __Helper.wyzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[2], self[1]); end;
- function __Helper.wyzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[2], self[2]); end;
- function __Helper.wyzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[2], self[3]); end;
- function __Helper.wywx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[3], self[0]); end;
- function __Helper.wywy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[3], self[1]); end;
- function __Helper.wywz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[3], self[2]); end;
- function __Helper.wyww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[1], self[3], self[3]); end;
- function __Helper.wzxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[0], self[0]); end;
- function __Helper.wzxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[0], self[1]); end;
- function __Helper.wzxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[0], self[2]); end;
- function __Helper.wzxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[0], self[3]); end;
- function __Helper.wzyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[1], self[0]); end;
- function __Helper.wzyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[1], self[1]); end;
- function __Helper.wzyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[1], self[2]); end;
- function __Helper.wzyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[1], self[3]); end;
- function __Helper.wzzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[2], self[0]); end;
- function __Helper.wzzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[2], self[1]); end;
- function __Helper.wzzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[2], self[2]); end;
- function __Helper.wzzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[2], self[3]); end;
- function __Helper.wzwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[3], self[0]); end;
- function __Helper.wzwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[3], self[1]); end;
- function __Helper.wzwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[3], self[2]); end;
- function __Helper.wzww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[2], self[3], self[3]); end;
- function __Helper.wwxx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[0], self[0]); end;
- function __Helper.wwxy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[0], self[1]); end;
- function __Helper.wwxz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[0], self[2]); end;
- function __Helper.wwxw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[0], self[3]); end;
- function __Helper.wwyx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[1], self[0]); end;
- function __Helper.wwyy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[1], self[1]); end;
- function __Helper.wwyz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[1], self[2]); end;
- function __Helper.wwyw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[1], self[3]); end;
- function __Helper.wwzx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[2], self[0]); end;
- function __Helper.wwzy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[2], self[1]); end;
- function __Helper.wwzz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[2], self[2]); end;
- function __Helper.wwzw: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[2], self[3]); end;
- function __Helper.wwwx: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[3], self[0]); end;
- function __Helper.wwwy: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[3], self[1]); end;
- function __Helper.wwwz: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[3], self[2]); end;
- function __Helper.wwww: __IMPL.TVector4; begin result := __IMPL.Vector4(self[3], self[3], self[3], self[3]); end;
- {$ENDIF}
-
- operator = (const v1, v2: __VEC): Boolean;
- begin
- result := __IMPL.Equals(v1, v2);
- end;
- {$IFDEF __HELPER_I}
- function __HELPER_I.Length: Double;
- begin
- result := __IMPL.Length(self);
- end;
-
- {$IF __SIZE <> 4}
- function __HELPER_I.Add(const v: __VEC): __VEC;
- begin
- result := __IMPL.Add(self, v);
- end;
-
- function __HELPER_I.Subtract(const v: __VEC): __VEC;
- begin
- result := __IMPL.Sub(self, v);
- end;
- {$ENDIF}
-
- function __HELPER_I.Multiply(const v: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Multiply(self, v);
- end;
-
- function __HELPER_I.Clamp(const min, max: __VEC): __VEC;
- begin
- result := __IMPL.Clamp(self, min, max);
- end;
-
- function __HELPER_I.Clamp(const min, max: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Clamp(self, min, max);
- end;
-
- {$IF __SIZE <> 4}
- operator + (const v1, v2: __VEC): __VEC;
- begin
- result := __IMPL.Add(v1, v2);
- end;
-
- operator - (const v1, v2: __VEC): __VEC;
- begin
- result := __IMPL.Sub(v1, v2);
- end;
- {$ENDIF}
- {$IFDEF __HELPER_F}
- function __HELPER_F.Normalize: __VEC;
- begin
- result := __IMPL.Normalize(self);
- end;
-
- function __HELPER_F.Divide(const v: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPL.Divide(self, v);
- end;
-
- function __HELPER_F.Dot(const v: __VEC): __IMPL.TBaseType;
- begin
- result := __IMPL.Dot(self, v);
- end;
-
- {$IF __SIZE <> 4}
- function __HELPER_F.Angle(const v: __VEC): Double;
- begin
- result := __IMPL.Angle(self, v);
- end;
- {$ENDIF}
-
- {$IF __SIZE = 2}
- function __HELPER_F.Angle2(const v: __VEC): Double;
- begin
- result := __IMPL.Angle2(self, v);
- end;
- {$ENDIF}
-
- operator * (const v: __VEC; const s: __IMPL.TBaseType): __VEC;
- begin
- result := __IMPl.Multiply(v, s);
- end;
-
- operator * (const s: __IMPL.TBaseType; const v: __VEC): __VEC;
- begin
- result := __IMPl.Multiply(v, s);
- end;
-
- operator * (const v1, v2: __VEC): __IMPL.TBaseType;
- begin
- result := __IMPl.Dot(v1, v2);
- end;
- {$ENDIF}
- {$ENDIF}
- {$ENDIF}
- {$ENDIF}
-
- {$UNDEF __IMPL}
- {$UNDEF __SIZE}
- {$UNDEF __VEC}
- {$UNDEF __MAXCOLOR}
- {$UNDEF __HELPER}
- {$UNDEF __HELPER_I}
- {$UNDEF __HELPER_F}
|