aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Input/Motion/MotionInput.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Input/Motion/MotionInput.cs')
-rw-r--r--Ryujinx.Input/Motion/MotionInput.cs65
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