// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using System; using UnityEngine; namespace UltimateXR.Devices { /// /// Controller tracking interface for all VR input devices, supporting single controllers and dual controller setups. /// public interface IUxrControllerTracking { #region Public Types & Data /// /// Gets the type of the input controller component that handles input for the same kind of controller this component /// handles the tracking for. /// Type RelatedControllerInputType { get; } /// /// Gets whether the camera of the tracking setup has 6 degrees of freedom /// bool HeadsetIs6Dof { get; } /// /// Gets if the left hand sensor in the component inspector has been set up /// bool HasLeftHandSensorSetup { get; } /// /// Gets if the right hand sensor in the component inspector has been set up /// bool HasRightHandSensorSetup { get; } /// /// Gets the world-space position of the left controller sensor. /// Vector3 SensorLeftPos { get; } /// /// Gets the world-space position of the right controller sensor. /// Vector3 SensorRightPos { get; } /// /// Gets the world-space rotation of the left controller sensor. /// Quaternion SensorLeftRot { get; } /// /// Gets the world-space rotation of the right controller sensor. /// Quaternion SensorRightRot { get; } /// /// Gets the world-space position where the left hand bone should be, using the left sensor data. /// Vector3 SensorLeftHandPos { get; } /// /// Gets the world-space position where the right hand bone should be, using the right sensor data. /// Vector3 SensorRightHandPos { get; } /// /// Gets the world-space rotation that the left hand bone should have using the left sensor data. /// Quaternion SensorLeftHandRot { get; } /// /// Gets the world-space rotation that the right hand bone should have using the right sensor data. /// Quaternion SensorRightHandRot { get; } #endregion } }