Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Transform() [8/8]

static void Microsoft.Xna.Framework.Vector2.Transform ( Vector2[] sourceArray,
ref Quaternion rotation,
Vector2[] destinationArray )
inlinestatic

Definition at line 495 of file Vector2.cs.

496 {
497 if (sourceArray == null)
498 {
499 throw new ArgumentNullException("sourceArray");
500 }
501 if (destinationArray == null)
502 {
503 throw new ArgumentNullException("destinationArray");
504 }
505 if (destinationArray.Length < sourceArray.Length)
506 {
507 throw new ArgumentException(FrameworkResources.NotEnoughTargetSize);
508 }
509 float num = rotation.X + rotation.X;
510 float num2 = rotation.Y + rotation.Y;
511 float num3 = rotation.Z + rotation.Z;
512 float num4 = rotation.W * num3;
513 float num5 = rotation.X * num;
514 float num6 = rotation.X * num2;
515 float num7 = rotation.Y * num2;
516 float num8 = rotation.Z * num3;
517 float num9 = 1f - num7 - num8;
518 float num10 = num6 - num4;
519 float num11 = num6 + num4;
520 float num12 = 1f - num5 - num8;
521 for (int i = 0; i < sourceArray.Length; i++)
522 {
523 float x = sourceArray[i].X;
524 float y = sourceArray[i].Y;
525 destinationArray[i].X = x * num9 + y * num10;
526 destinationArray[i].Y = x * num11 + y * num12;
527 }
528 }

References System.destinationArray, Microsoft.Xna.Framework.FrameworkResources.NotEnoughTargetSize, and System.sourceArray.