function TpvVector3Helper.GetXXXX:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetXXXY:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetXXXZ:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetXXYX:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetXXYY:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetXXYZ:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetXXZX:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetXXZY:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetXXZZ:TpvVector4;
begin
 result.x:=x;
 result.y:=x;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetXYXX:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetXYXY:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetXYXZ:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetXYYX:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetXYYY:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetXYYZ:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetXYZX:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetXYZY:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetXYZZ:TpvVector4;
begin
 result.x:=x;
 result.y:=y;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetXZXX:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetXZXY:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetXZXZ:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetXZYX:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetXZYY:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetXZYZ:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetXZZX:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetXZZY:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetXZZZ:TpvVector4;
begin
 result.x:=x;
 result.y:=z;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetYXXX:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetYXXY:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetYXXZ:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetYXYX:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetYXYY:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetYXYZ:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetYXZX:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetYXZY:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetYXZZ:TpvVector4;
begin
 result.x:=y;
 result.y:=x;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetYYXX:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetYYXY:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetYYXZ:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetYYYX:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetYYYY:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetYYYZ:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetYYZX:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetYYZY:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetYYZZ:TpvVector4;
begin
 result.x:=y;
 result.y:=y;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetYZXX:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetYZXY:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetYZXZ:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetYZYX:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetYZYY:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetYZYZ:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetYZZX:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetYZZY:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetYZZZ:TpvVector4;
begin
 result.x:=y;
 result.y:=z;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetZXXX:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetZXXY:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetZXXZ:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetZXYX:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetZXYY:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetZXYZ:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetZXZX:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetZXZY:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetZXZZ:TpvVector4;
begin
 result.x:=z;
 result.y:=x;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetZYXX:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetZYXY:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetZYXZ:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetZYYX:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetZYYY:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetZYYZ:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetZYZX:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetZYZY:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetZYZZ:TpvVector4;
begin
 result.x:=z;
 result.y:=y;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetZZXX:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=x;
 result.w:=x;
end;
function TpvVector3Helper.GetZZXY:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=x;
 result.w:=y;
end;
function TpvVector3Helper.GetZZXZ:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=x;
 result.w:=z;
end;
function TpvVector3Helper.GetZZYX:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=y;
 result.w:=x;
end;
function TpvVector3Helper.GetZZYY:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=y;
 result.w:=y;
end;
function TpvVector3Helper.GetZZYZ:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=y;
 result.w:=z;
end;
function TpvVector3Helper.GetZZZX:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=z;
 result.w:=x;
end;
function TpvVector3Helper.GetZZZY:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=z;
 result.w:=y;
end;
function TpvVector3Helper.GetZZZZ:TpvVector4;
begin
 result.x:=z;
 result.y:=z;
 result.z:=z;
 result.w:=z;
end;
function TpvVector3Helper.GetRRRR:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetRRRG:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetRRRB:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetRRGR:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetRRGG:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetRRGB:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetRRBR:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetRRBG:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetRRBB:TpvVector4;
begin
 result.r:=r;
 result.g:=r;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetRGRR:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetRGRG:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetRGRB:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetRGGR:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetRGGG:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetRGGB:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetRGBR:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetRGBG:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetRGBB:TpvVector4;
begin
 result.r:=r;
 result.g:=g;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetRBRR:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetRBRG:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetRBRB:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetRBGR:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetRBGG:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetRBGB:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetRBBR:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetRBBG:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetRBBB:TpvVector4;
begin
 result.r:=r;
 result.g:=b;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetGRRR:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetGRRG:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetGRRB:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetGRGR:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetGRGG:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetGRGB:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetGRBR:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetGRBG:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetGRBB:TpvVector4;
begin
 result.r:=g;
 result.g:=r;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetGGRR:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetGGRG:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetGGRB:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetGGGR:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetGGGG:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetGGGB:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetGGBR:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetGGBG:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetGGBB:TpvVector4;
begin
 result.r:=g;
 result.g:=g;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetGBRR:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetGBRG:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetGBRB:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetGBGR:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetGBGG:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetGBGB:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetGBBR:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetGBBG:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetGBBB:TpvVector4;
begin
 result.r:=g;
 result.g:=b;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetBRRR:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetBRRG:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetBRRB:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetBRGR:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetBRGG:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetBRGB:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetBRBR:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetBRBG:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetBRBB:TpvVector4;
begin
 result.r:=b;
 result.g:=r;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetBGRR:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetBGRG:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetBGRB:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetBGGR:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetBGGG:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetBGGB:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetBGBR:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetBGBG:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetBGBB:TpvVector4;
begin
 result.r:=b;
 result.g:=g;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetBBRR:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=r;
 result.a:=r;
end;
function TpvVector3Helper.GetBBRG:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=r;
 result.a:=g;
end;
function TpvVector3Helper.GetBBRB:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=r;
 result.a:=b;
end;
function TpvVector3Helper.GetBBGR:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=g;
 result.a:=r;
end;
function TpvVector3Helper.GetBBGG:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=g;
 result.a:=g;
end;
function TpvVector3Helper.GetBBGB:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=g;
 result.a:=b;
end;
function TpvVector3Helper.GetBBBR:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=b;
 result.a:=r;
end;
function TpvVector3Helper.GetBBBG:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=b;
 result.a:=g;
end;
function TpvVector3Helper.GetBBBB:TpvVector4;
begin
 result.r:=b;
 result.g:=b;
 result.b:=b;
 result.a:=b;
end;
function TpvVector3Helper.GetSSSS:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetSSST:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetSSSP:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetSSTS:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetSSTT:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetSSTP:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetSSPS:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetSSPT:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetSSPP:TpvVector4;
begin
 result.s:=s;
 result.t:=s;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetSTSS:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetSTST:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetSTSP:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetSTTS:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetSTTT:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetSTTP:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetSTPS:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetSTPT:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetSTPP:TpvVector4;
begin
 result.s:=s;
 result.t:=t;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetSPSS:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetSPST:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetSPSP:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetSPTS:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetSPTT:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetSPTP:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetSPPS:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetSPPT:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetSPPP:TpvVector4;
begin
 result.s:=s;
 result.t:=p;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetTSSS:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetTSST:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetTSSP:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetTSTS:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetTSTT:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetTSTP:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetTSPS:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetTSPT:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetTSPP:TpvVector4;
begin
 result.s:=t;
 result.t:=s;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetTTSS:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetTTST:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetTTSP:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetTTTS:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetTTTT:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetTTTP:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetTTPS:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetTTPT:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetTTPP:TpvVector4;
begin
 result.s:=t;
 result.t:=t;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetTPSS:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetTPST:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetTPSP:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetTPTS:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetTPTT:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetTPTP:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetTPPS:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetTPPT:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetTPPP:TpvVector4;
begin
 result.s:=t;
 result.t:=p;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetPSSS:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetPSST:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetPSSP:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetPSTS:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetPSTT:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetPSTP:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetPSPS:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetPSPT:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetPSPP:TpvVector4;
begin
 result.s:=p;
 result.t:=s;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetPTSS:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetPTST:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetPTSP:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetPTTS:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetPTTT:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetPTTP:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetPTPS:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetPTPT:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetPTPP:TpvVector4;
begin
 result.s:=p;
 result.t:=t;
 result.p:=p;
 result.q:=p;
end;
function TpvVector3Helper.GetPPSS:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=s;
 result.q:=s;
end;
function TpvVector3Helper.GetPPST:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=s;
 result.q:=t;
end;
function TpvVector3Helper.GetPPSP:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=s;
 result.q:=p;
end;
function TpvVector3Helper.GetPPTS:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=t;
 result.q:=s;
end;
function TpvVector3Helper.GetPPTT:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=t;
 result.q:=t;
end;
function TpvVector3Helper.GetPPTP:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=t;
 result.q:=p;
end;
function TpvVector3Helper.GetPPPS:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=p;
 result.q:=s;
end;
function TpvVector3Helper.GetPPPT:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=p;
 result.q:=t;
end;
function TpvVector3Helper.GetPPPP:TpvVector4;
begin
 result.s:=p;
 result.t:=p;
 result.p:=p;
 result.q:=p;
end;
