diff options
Diffstat (limited to 'Ryujinx.Input/Motion/MotionInput.cs')
| -rw-r--r-- | Ryujinx.Input/Motion/MotionInput.cs | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/Ryujinx.Input/Motion/MotionInput.cs b/Ryujinx.Input/Motion/MotionInput.cs deleted file mode 100644 index 1923d9cb..00000000 --- a/Ryujinx.Input/Motion/MotionInput.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Ryujinx.Input.Motion; -using System; -using System.Numerics; - -namespace Ryujinx.Input -{ - public class MotionInput - { - public ulong TimeStamp { get; set; } - public Vector3 Accelerometer { get; set; } - public Vector3 Gyroscrope { get; set; } - public Vector3 Rotation { get; set; } - - private readonly MotionSensorFilter _filter; - - public MotionInput() - { - TimeStamp = 0; - Accelerometer = new Vector3(); - Gyroscrope = new Vector3(); - Rotation = new Vector3(); - - // TODO: RE the correct filter. - _filter = new MotionSensorFilter(0f); - } - - public void Update(Vector3 accel, Vector3 gyro, ulong timestamp, int sensitivity, float deadzone) - { - if (TimeStamp != 0) - { - Accelerometer = -accel; - - if (gyro.Length() < deadzone) - { - gyro = Vector3.Zero; - } - - gyro *= (sensitivity / 100f); - - Gyroscrope = gyro; - - float deltaTime = MathF.Abs((long)(timestamp - TimeStamp) / 1000000f); - - Vector3 deltaGyro = gyro * deltaTime; - - Rotation += deltaGyro; - - _filter.SamplePeriod = deltaTime; - _filter.Update(accel, DegreeToRad(gyro)); - } - - TimeStamp = timestamp; - } - - public Matrix4x4 GetOrientation() - { - return Matrix4x4.CreateFromQuaternion(_filter.Quaternion); - } - - private static Vector3 DegreeToRad(Vector3 degree) - { - return degree * (MathF.PI / 180); - } - } -}
\ No newline at end of file |
