Support VRTrackers for protocol rotations

This commit is contained in:
Louka
2023-02-09 00:01:34 -05:00
parent 2185eb6a35
commit beb382506f

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);