public Vector3? GetIntersectingPoint(ref Ray ray) { float dist; var t = Triangle; if (!ray.Intersects(ref t.A, ref t.B, ref t.C, out dist)) return null; return ray.Position + dist*ray.Direction; }