/// <summary>
 /// Perform a world-based hit test against MR feature points.
 /// </summary>
 /// <param name="ray">The ray to test</param>
 /// <param name="result">The result of the hit test</param>
 /// <param name="types">The types of results to test against</param>
 /// <returns>Whether the test succeeded</returns>
 public static bool WorldHitTestHitTest(this IUsesMRHitTesting obj, Ray ray,
                                        out MRHitTestResult result, MRHitTestResultTypes types = MRHitTestResultTypes.Any)
 {
     return(obj.provider.WorldHitTest(ray, out result, types));
 }
 /// <summary>
 /// Start performing hit tests. Hit test support is enabled on initialization, so this is only necessary after
 /// calling StopDetecting.
 /// </summary>
 public static void StartHitTesting(this IUsesMRHitTesting obj)
 {
     obj.provider.StartHitTesting();
 }
 /// <summary>
 /// Perform a screen-based hit test against MR data
 /// </summary>
 /// <param name="screenPosition">The screen position from which test will originate</param>
 /// <param name="result">The result of the hit test</param>
 /// <param name="types">The types of results to test against</param>
 /// <returns>Whether the test succeeded</returns>
 public static bool ScreenHitTest(this IUsesMRHitTesting obj, Vector2 screenPosition,
                                  out MRHitTestResult result, MRHitTestResultTypes types = MRHitTestResultTypes.Any)
 {
     return(obj.provider.ScreenHitTest(screenPosition, out result, types));
 }