Skip to content
Snippets Groups Projects
Commit 2e0dd710 authored by Alexis Girault's avatar Alexis Girault
Browse files

BUG: Correct controller invert flags

was mirroring axis, not inverting rotations
parent d16a8208
No related branches found
No related tags found
No related merge requests found
......@@ -44,9 +44,9 @@ TrackingController::computeTrackingData(Vec3d& p, Quatd& r)
if(m_invertFlags & InvertFlag::transX) p[0] = -p[0];
if(m_invertFlags & InvertFlag::transY) p[1] = -p[1];
if(m_invertFlags & InvertFlag::transZ) p[2] = -p[2];
if(m_invertFlags & InvertFlag::rotX) std::swap(r.y(), r.z());
if(m_invertFlags & InvertFlag::rotY) std::swap(r.x(), r.z());
if(m_invertFlags & InvertFlag::rotZ) std::swap(r.x(), r.y());
if(m_invertFlags & InvertFlag::rotX) r.x() = -r.x();
if(m_invertFlags & InvertFlag::rotY) r.y() = -r.y();
if(m_invertFlags & InvertFlag::rotZ) r.z() = -r.z();
// Apply Offsets
p = m_rotationOffset * p * m_scaling + m_translationOffset;
......
......@@ -123,6 +123,8 @@ void testTwoFalcons()
cam->setPosition(imstk::Vec3d(0,18,20));
cam->setFocalPoint(imstk::UP_VECTOR*18);
cam->setupController(hdk);
cam->getController()->setInversionFlags(imstk::CameraController::InvertFlag::rotY |
imstk::CameraController::InvertFlag::rotZ );
// Run
sdk->setCurrentScene("FalconsTestScene");
......@@ -199,7 +201,8 @@ void testCameraController()
// Set camera controller
cam->setupController(client, 100);
//LOG(INFO) << cam->getController()->getTranslationOffset(); // should be the same than initial cam position
//cam->getController()->setInversionFlags( (imstk::CameraController::InvertFlag::transX | imstk::CameraController::InvertFlag::transY) );
cam->getController()->setInversionFlags(imstk::CameraController::InvertFlag::rotY |
imstk::CameraController::InvertFlag::rotZ );
// Run
sdk->setCurrentScene("SceneTestDevice");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment