2 public struct Ray2 : IEquatable<Ray2> {
16 public override string ToString() => $
"{Position.ToString()},{Direction.ToString()}";
30 float num3 = (rectangle.Min.X -
Position.X) * num2;
31 float num4 = (rectangle.Max.X -
Position.X) * num2;
50 float num7 = (rectangle.Min.Y -
Position.Y) * num6;
51 float num8 = (rectangle.Max.Y -
Position.Y) * num6;
68 float num2 = circle.Radius * circle.
Radius;
76 float num4 = num2 + num3 * num3 - num;
78 return num3 - MathF.Sqrt(num4);
static int Max(int x1, int x2)
static void Transform(ref Ray2 r, ref Matrix m, out Ray2 result)
float? Intersection(BoundingRectangle rectangle)
override bool Equals(object obj)
Ray2(Vector2 position, Vector2 direction)
override int GetHashCode()
static bool operator==(Ray2 a, Ray2 b)
static bool operator!=(Ray2 a, Ray2 b)
Vector2 Sample(float distance)
static Ray2 Transform(Ray2 r, Matrix m)
float? Intersection(BoundingCircle circle)
override string ToString()
static float Dot(Vector2 v1, Vector2 v2)
static Vector2 TransformNormal(Vector2 v, Matrix m)
static Vector2 Transform(Vector2 v, Matrix m)