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

◆ CreateMerged() [1/2]

static BoundingSphere Microsoft.Xna.Framework.BoundingSphere.CreateMerged ( BoundingSphere original,
BoundingSphere additional )
inlinestatic

Definition at line 64 of file BoundingSphere.cs.

65 {
66 Vector3.Subtract(ref additional.Center, ref original.Center, out var result);
67 float num = result.Length();
68 float radius = original.Radius;
69 float radius2 = additional.Radius;
70 if (radius + radius2 >= num)
71 {
72 if (radius - radius2 >= num)
73 {
74 return original;
75 }
76 if (radius2 - radius >= num)
77 {
78 return additional;
79 }
80 }
81 Vector3 vector = result * (1f / num);
82 float num2 = MathHelper.Min(0f - radius, num - radius2);
83 float num3 = MathHelper.Max(radius, num + radius2);
84 float num4 = (num3 - num2) * 0.5f;
86 result2.Center = original.Center + vector * (num4 + num2);
87 result2.Radius = num4;
88 return result2;
89 }
BoundingSphere(Vector3 center, float radius)

References Microsoft.Xna.Framework.MathHelper.Max(), Microsoft.Xna.Framework.MathHelper.Min(), and Microsoft.Xna.Framework.Vector3.Subtract().