IRaycaster.cs
858 Bytes
using Unity.Collections;
using UnityEngine.XR.ARSubsystems;
namespace UnityEngine.XR.ARFoundation
{
/// <summary>
/// An interface for performing raycasts against trackables. Generally implemented by
/// derived classes of <see cref="ARTrackableManager{TSubsystem, TSubsystemDescriptor, TSessionRelativeData, TTrackable}"/>.
/// </summary>
internal interface IRaycaster
{
/// <summary>
/// Performs a raycast.
/// </summary>
/// <param name="sessionSpaceRay">A ray, in session space.</param>
/// <param name="trackableTypeMask">The types of raycast to perform.</param>
/// <returns>An array of raycast results.</returns>
NativeArray<XRRaycastHit> Raycast(
Ray sessionSpaceRay,
TrackableType trackableTypeMask,
Allocator allocator);
}
}