Skip to content
Snippets Groups Projects
Commit b83d8ccf authored by Sebastian Hahta's avatar Sebastian Hahta
Browse files

Merge branch 'feature/gui2' of gitlab.utu.fi:nicolas.pope/ftl into feature/gui2

parents 6179a71d aec6008c
No related branches found
No related tags found
1 merge request!316Resolves #343 GUI and Frame Refactor
Pipeline #28510 passed
...@@ -66,6 +66,11 @@ OpenVRRender::OpenVRRender(ftl::render::Source *host, ftl::stream::Feed *feed) ...@@ -66,6 +66,11 @@ OpenVRRender::OpenVRRender(ftl::render::Source *host, ftl::stream::Feed *feed)
eye_ = Eigen::Vector3d::Zero(); eye_ = Eigen::Vector3d::Zero();
rotmat_.setIdentity(); rotmat_.setIdentity();
initial_pose_.setIdentity();
host_->on("reset_pose", [this]() {
pose_calibrated_.clear();
});
} }
OpenVRRender::~OpenVRRender() { OpenVRRender::~OpenVRRender() {
...@@ -305,7 +310,11 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) { ...@@ -305,7 +310,11 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) {
Eigen::Affine3d t(trans); Eigen::Affine3d t(trans);
auto viewPose = t.matrix() * rotmat_; auto viewPose = t.matrix() * rotmat_;
rgbdframe.setPose() = viewPose; if (!pose_calibrated_.test_and_set()) {
initial_pose_ = viewPose.inverse();
}
rgbdframe.setPose() = viewPose*initial_pose_;
} else { } else {
LOG(ERROR) << "No VR Pose"; LOG(ERROR) << "No VR Pose";
......
...@@ -42,7 +42,10 @@ class OpenVRRender : public ftl::render::BaseSourceImpl { ...@@ -42,7 +42,10 @@ class OpenVRRender : public ftl::render::BaseSourceImpl {
ftl::operators::Graph *post_pipe_; ftl::operators::Graph *post_pipe_;
std::atomic_flag pose_calibrated_;
float baseline_; float baseline_;
Eigen::Matrix4d initial_pose_;
Eigen::Matrix4d rotmat_; Eigen::Matrix4d rotmat_;
Eigen::Vector3d eye_; Eigen::Vector3d eye_;
ftl::utility::GLTexture texture1_; // first channel (always left at the moment) ftl::utility::GLTexture texture1_; // first channel (always left at the moment)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment