// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using Microsoft.MixedReality.Toolkit.Utilities; using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Input { /// /// Interface defining a hand ray, which is used by far pointers to direct interactions. /// Implementations of this class are managed and updated by a BaseHand implementation. /// public interface IHandRay { /// /// Ray used by input system for Far Pointers. /// Ray Ray { get; } /// /// Check whether hand palm is angled in a way that hand rays should be used. /// bool ShouldShowRay { get; } /// /// Update data used by hand implementation, to compute next HandRay. /// /// Position of hand /// Palm normal /// Transform of CameraCache.main /// Handedness of related hand void Update(Vector3 handPosition, Vector3 palmNormal, Transform headTransform, Handedness sourceHandedness); } }