From b6d76918a64b76ce3fd92b587080de37aff75870 Mon Sep 17 00:00:00 2001 From: Sebastian Hahta <joseha@utu.fi> Date: Mon, 13 May 2019 13:33:23 +0300 Subject: [PATCH] Cleanup --- reconstruct/src/main.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/reconstruct/src/main.cpp b/reconstruct/src/main.cpp index 813234e0d..61049ec33 100644 --- a/reconstruct/src/main.cpp +++ b/reconstruct/src/main.cpp @@ -121,20 +121,23 @@ static void run() { return; } + // todo: create display objects at the same time, store in pair/tuple? + // std::deque<SourceStereo> sources; // mutex in SourceStereo + std::deque<Display> displays; for (auto &src : config["sources"]) { - SourceStereo *in = &sources.emplace_back(); - in->uri = src; - // get calibration parameters from nodes + SourceStereo &in = sources.emplace_back(); + Display &display = displays.emplace_back(Display(config["display"], src)); + // get calibration parameters from nodes while(true) { auto buf = net.findOne<vector<unsigned char>>((string) src +"/calibration"); if (buf) { Mat Q = Mat(cv::Size(4,4), CV_32F); memcpy(Q.data, (*buf).data(), (*buf).size()); if (Q.step*Q.rows != (*buf).size()) LOG(ERROR) << "Corrupted calibration"; - in->setQ(Q); + in.setQ(Q); LOG(INFO) << "Calibration loaded for " << (string) src; break; } @@ -143,18 +146,13 @@ static void run() { sleep_for(milliseconds(500)); } } - net.subscribe(src, [in](const vector<unsigned char> &jpg, const vector<unsigned char> &d) { - in->recv(jpg, d); + net.subscribe(src, [&in](const vector<unsigned char> &jpg, const vector<unsigned char> &d) { + in.recv(jpg, d); }); - } - - std::deque<Display> displays; - for (size_t i = 0; i < sources.size(); i++) { - displays.emplace_back(Display(config["display"], sources[i].uri)); // todo: Display should only need processed input, depth calculation etc. // should happen somewhere else. - displays[i].setCalibration(sources[i].getQ()); + display.setCalibration(in.getQ()); } int active = displays.size(); -- GitLab