using UnityEngine.Scripting.APIUpdating;
using UnityEngine.XR.Interaction.Toolkit.Gaze;
namespace UnityEngine.XR.Interaction.Toolkit.Interactors
{
///
/// An interface that represents a -driven XR Ray.
///
///
///
[MovedFrom("UnityEngine.XR.Interaction.Toolkit")]
public interface IXRRayProvider
{
///
/// Ensures a exists for the ray origin and returns it.
///
/// The that is the starting position and direction of any ray casts.
Transform GetOrCreateRayOrigin();
///
/// Ensures a exists for the ray attach point and returns it.
///
/// The that is used as the attach point for Interactables.
Transform GetOrCreateAttachTransform();
///
/// Assigns a to be the source of this ray.
///
/// The that is the starting position and direction of any ray casts.
void SetRayOrigin(Transform newOrigin);
///
/// Assigns a to be the attach point of this ray.
///
/// The that is used as the attach point for Interactables.
void SetAttachTransform(Transform newAttach);
///
/// The last endpoint of this ray, either its maximum distance or a collision point.
///
Vector3 rayEndPoint { get; }
///
/// The of the object this ray has collided with, if any.
///
Transform rayEndTransform { get; }
}
}