Merge pull request #566 from SlimeVR/vrtracker-protocol-rotation

Support VRTrackers for protocol rotations
This commit is contained in:
Eiren Rain
2023-02-09 17:35:38 +02:00
committed by GitHub

View File

@@ -131,11 +131,7 @@ public class DataFeedBuilder {
public static int createTrackerRotation(FlatBufferBuilder fbb, Tracker tracker) {
Quaternion quaternion = new Quaternion();
if (tracker instanceof IMUTracker imuTracker) {
imuTracker.getRawRotation(quaternion);
} else {
tracker.getRotation(quaternion);
}
tracker.getRawRotation(quaternion);
return createQuat(fbb, quaternion);
}
@@ -194,6 +190,16 @@ public class DataFeedBuilder {
imuTracker.getIdentityAdjustedRotation(quaternion);
TrackerData.addRotationIdentityAdjusted(fbb, createQuat(fbb, quaternion));
}
} else if (tracker instanceof VRTracker vrTracker) {
Quaternion quaternion = new Quaternion();
if (mask.getRotationReferenceAdjusted() && tracker.hasRotation()) {
vrTracker.getRotation(quaternion);
TrackerData.addRotationReferenceAdjusted(fbb, createQuat(fbb, quaternion));
}
if (mask.getRotationIdentityAdjusted() && tracker.hasRotation()) {
vrTracker.getRawRotation(quaternion);
TrackerData.addRotationIdentityAdjusted(fbb, createQuat(fbb, quaternion));
}
}
return TrackerData.endTrackerData(fbb);