Skip to content

Commit

Permalink
Reset temporality before reset math
Browse files Browse the repository at this point in the history
  • Loading branch information
Erimelowo committed Jan 18, 2025
1 parent 181ba08 commit 066b25c
Showing 1 changed file with 14 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,14 +215,17 @@ class TrackerResetsHandler(val tracker: Tracker) {
*/
fun resetFull(reference: Quaternion) {
if (tracker.trackerDataType == TrackerDataType.FLEX_RESISTANCE) {
tracker.resetFilteringQuats()
tracker.trackerFlexHandler.resetMin()
postProcessResetFull()
clearRequireResetStatus()
return
} else if (tracker.trackerDataType == TrackerDataType.FLEX_ANGLE) {
postProcessResetFull()
return
}

// Reset the tracking of temporality before the reset
tracker.resetFilteringQuats()

// Adjust for T-Pose (down)
tposeDownFix = if (((isLeftArmTracker() || isLeftFingerTracker()) && armsResetMode == ArmsResetModes.TPOSE_DOWN)) {
EulerAngles(EulerOrder.YZX, 0f, 0f, -FastMath.HALF_PI).toQuaternion()
Expand Down Expand Up @@ -286,16 +289,14 @@ class TrackerResetsHandler(val tracker: Tracker) {

calculateDrift(oldRot)

postProcessResetFull()
clearRequireResetStatus()
}

private fun postProcessResetFull() {
private fun clearRequireResetStatus() {
if (this.tracker.lastResetStatus != 0u) {
VRServer.instance.statusSystem.removeStatus(this.tracker.lastResetStatus)
this.tracker.lastResetStatus = 0u
}

tracker.resetFilteringQuats()
}

/**
Expand All @@ -311,6 +312,9 @@ class TrackerResetsHandler(val tracker: Tracker) {
return
}

// Reset the tracking of temporality before the reset
tracker.resetFilteringQuats()

// Old rot for drift compensation
val oldRot = adjustToReference(tracker.getRawRotation())
lastResetQuaternion = oldRot
Expand All @@ -336,8 +340,6 @@ class TrackerResetsHandler(val tracker: Tracker) {
this.tracker.statusResetRecently = false
this.tracker.lastResetStatus = 0u
}

tracker.resetFilteringQuats()
}

/**
Expand All @@ -346,15 +348,18 @@ class TrackerResetsHandler(val tracker: Tracker) {
*/
fun resetMounting(reference: Quaternion) {
if (tracker.trackerDataType == TrackerDataType.FLEX_RESISTANCE) {
tracker.trackerFlexHandler.resetMax()
tracker.resetFilteringQuats()
tracker.trackerFlexHandler.resetMax()
return
} else if (tracker.trackerDataType == TrackerDataType.FLEX_ANGLE) {
return
} else if (!resetMountingFeet && isFootTracker()) {
return
}

// Reset the tracking of temporality before the reset
tracker.resetFilteringQuats()

// Get the current calibrated rotation
var rotBuf = adjustToDrift(tracker.getRawRotation() * mountingOrientation)
rotBuf = gyroFix * rotBuf
Expand Down Expand Up @@ -399,8 +404,6 @@ class TrackerResetsHandler(val tracker: Tracker) {

// save mounting reset
if (saveMountingReset) tracker.saveMountingResetOrientation(mountRotFix)

tracker.resetFilteringQuats()
}

fun clearMounting() {
Expand Down

0 comments on commit 066b25c

Please sign in to comment.