Skip to content
Snippets Groups Projects
Commit 76d93864 authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Working virtual camera pose input

parent d4f86dc5
No related branches found
No related tags found
1 merge request!316Resolves #343 GUI and Frame Refactor
...@@ -140,3 +140,11 @@ bool Camera::hasFrame() { ...@@ -140,3 +140,11 @@ bool Camera::hasFrame() {
} }
return false; return false;
} }
void Camera::sendPose(const Eigen::Matrix4d &pose) {
if (auto ptr = std::atomic_load(&current_fs_)) {
auto response = ptr->frames[frame_idx].response();
auto &rgbdresponse = response.cast<ftl::rgbd::Frame>();
rgbdresponse.setPose() = pose;
}
}
...@@ -30,6 +30,8 @@ public: ...@@ -30,6 +30,8 @@ public:
/** Check if new frame is available */ /** Check if new frame is available */
bool hasFrame(); bool hasFrame();
void sendPose(const Eigen::Matrix4d &pose);
ftl::render::Colouriser* colouriser() { return colouriser_.get(); }; ftl::render::Colouriser* colouriser() { return colouriser_.get(); };
ftl::overlay::Overlay* overlay() { return overlay_.get(); } ftl::overlay::Overlay* overlay() { return overlay_.get(); }
......
#include "camera3d.hpp" #include "camera3d.hpp"
#include "../modules/camera.hpp"
using ftl::gui2::CameraView3D; using ftl::gui2::CameraView3D;
...@@ -55,7 +56,8 @@ bool CameraView3D::keyboardEvent(int key, int scancode, int action, int modifier ...@@ -55,7 +56,8 @@ bool CameraView3D::keyboardEvent(int key, int scancode, int action, int modifier
//transform_ix_ = ix-1; //transform_ix_ = ix-1;
} }
LOG(INFO) << "New pose: \n" << getUpdatedPose(); //LOG(INFO) << "New pose: \n" << getUpdatedPose();
//ctrl_->sendPose(getUpdatedPose());
return true; return true;
} }
...@@ -72,7 +74,8 @@ bool CameraView3D::mouseMotionEvent(const Eigen::Vector2i &p, const Eigen::Vecto ...@@ -72,7 +74,8 @@ bool CameraView3D::mouseMotionEvent(const Eigen::Vector2i &p, const Eigen::Vecto
rx_ += rel[0]; rx_ += rel[0];
ry_ += rel[1]; ry_ += rel[1];
LOG(INFO) << "New pose: \n" << getUpdatedPose(); //LOG(INFO) << "New pose: \n" << getUpdatedPose();
//ctrl_->sendPose(getUpdatedPose());
return true; return true;
} }
...@@ -107,5 +110,6 @@ Eigen::Matrix4d CameraView3D::getUpdatedPose() { ...@@ -107,5 +110,6 @@ Eigen::Matrix4d CameraView3D::getUpdatedPose() {
void CameraView3D::draw(NVGcontext* ctx) { void CameraView3D::draw(NVGcontext* ctx) {
imview_->fit(); // TODO: should be moved to ::performLayout(ctx)? imview_->fit(); // TODO: should be moved to ::performLayout(ctx)?
ctrl_->sendPose(getUpdatedPose());
CameraView::draw(ctx); CameraView::draw(ctx);
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment