5using Microsoft.Xna.Framework.Design;
 
   13    [SuppressMessage(
"Microsoft.Design", 
"CA1051:DoNotDeclareVisibleInstanceFields")]
 
   16    [SuppressMessage(
"Microsoft.Design", 
"CA1051:DoNotDeclareVisibleInstanceFields")]
 
   29            return Direction.Z == 
other.Direction.Z;
 
 
   52        return string.Format(currentCulture, 
"{{Position:{0} Direction:{1}}}", 
new object[2]
 
 
   66        box.Intersects(ref 
this, out result);
 
 
   80        float num = plane.Normal.X * Direction.X + plane.Normal.Y * Direction.Y + plane.Normal.Z * 
Direction.
Z;
 
   85        float num2 = plane.Normal.X * Position.X + plane.Normal.Y * Position.Y + plane.Normal.Z * 
Position.Z;
 
   86        float num3 = (0f - plane.D - num2) / num;
 
 
  100        float num = plane.Normal.X * Direction.X + plane.Normal.Y * Direction.Y + plane.Normal.Z * 
Direction.
Z;
 
  106        float num2 = plane.Normal.X * Position.X + plane.Normal.Y * Position.Y + plane.Normal.Z * 
Position.Z;
 
  107        float num3 = (0f - plane.D - num2) / num;
 
 
  122        float num = sphere.Center.X - 
Position.X;
 
  123        float num2 = sphere.Center.Y - 
Position.Y;
 
  124        float num3 = sphere.Center.Z - 
Position.Z;
 
  125        float num4 = num * num + num2 * num2 + num3 * num3;
 
  126        float num5 = sphere.Radius * sphere.
Radius;
 
  131        float num6 = num * Direction.X + num2 * Direction.Y + num3 * 
Direction.
Z;
 
  136        float num7 = num4 - num6 * num6;
 
  141        float num8 = (float)
Math.
Sqrt(num5 - num7);
 
 
  147        float num = sphere.Center.X - 
Position.X;
 
  148        float num2 = sphere.Center.Y - 
Position.Y;
 
  149        float num3 = sphere.Center.Z - 
Position.Z;
 
  150        float num4 = num * num + num2 * num2 + num3 * num3;
 
  151        float num5 = sphere.Radius * sphere.Radius;
 
  158        float num6 = num * Direction.X + num2 * Direction.Y + num3 * 
Direction.
Z;
 
  161            float num7 = num4 - num6 * num6;
 
  164                float num8 = (float)
Math.
Sqrt(num5 - num7);
 
  165                result = num6 - num8;
 
 
 
bool Intersects(BoundingBox box)
 
override string ToString()
 
static CultureInfo CurrentCulture
 
static double Sqrt(double d)
 
static double Abs(double value)
 
bool Intersects(BoundingBox box)
 
override string ToString()
 
override bool Equals(object obj)
 
static bool operator==(Ray a, Ray b)
 
void Intersects(ref BoundingSphere sphere, out float? result)
 
void Intersects(ref BoundingBox box, out float? result)
 
float? Intersects(BoundingFrustum frustum)
 
static bool operator!=(Ray a, Ray b)
 
void Intersects(ref Plane plane, out float? result)
 
override int GetHashCode()
 
float? Intersects(Plane plane)
 
float? Intersects(BoundingBox box)
 
Ray(Vector3 position, Vector3 direction)
 
float? Intersects(BoundingSphere sphere)
 
override string ToString()
 
override int GetHashCode()