diff --git a/src/libraries/utils/polhemus/polhemus_coregistration.cpp b/src/libraries/utils/polhemus/polhemus_coregistration.cpp index 64bdbed76d..60ebb0db40 100644 --- a/src/libraries/utils/polhemus/polhemus_coregistration.cpp +++ b/src/libraries/utils/polhemus/polhemus_coregistration.cpp @@ -125,6 +125,16 @@ bool PolhemusCoregistration::captureCurrentPenPositionAsHeadShape() //============================================================================================================= +void PolhemusCoregistration::resetRegistration() +{ + m_registrationValid = false; + m_headToWorld.setToIdentity(); + m_headToDevice.setToIdentity(); + emit registrationChanged(); +} + +//============================================================================================================= + bool PolhemusCoregistration::computeRegistration() { if (!m_pPoints->hasAllFiducials()) { diff --git a/src/libraries/utils/polhemus/polhemus_coregistration.h b/src/libraries/utils/polhemus/polhemus_coregistration.h index 736e50e62d..93351fca05 100644 --- a/src/libraries/utils/polhemus/polhemus_coregistration.h +++ b/src/libraries/utils/polhemus/polhemus_coregistration.h @@ -164,6 +164,12 @@ class UTILSSHARED_EXPORT PolhemusCoregistration : public QObject */ bool computeRegistration(); + /** + * @brief Reset the registration state (headToWorld, headToDevice) to identity. + * Call this when the user clears all fiducials. + */ + void resetRegistration(); + bool registrationValid() const { return m_registrationValid; } //=========================================================================================================