small updates
This commit is contained in:
parent
d1cbebdc10
commit
5dc7ef2c49
38
src/vio.cpp
38
src/vio.cpp
|
@ -65,7 +65,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
// GUI functions
|
// GUI functions
|
||||||
void draw_image_overlay(pangolin::View& v, size_t cam_id);
|
void draw_image_overlay(pangolin::View& v, size_t cam_id);
|
||||||
void draw_scene();
|
void draw_scene(pangolin::View& view);
|
||||||
void load_data(const std::string& calib_path);
|
void load_data(const std::string& calib_path);
|
||||||
bool next_step();
|
bool next_step();
|
||||||
bool prev_step();
|
bool prev_step();
|
||||||
|
@ -111,6 +111,10 @@ Button save_traj_btn("ui.save_traj", &saveTrajectoryButton);
|
||||||
|
|
||||||
pangolin::Var<bool> follow("ui.follow", true, false, true);
|
pangolin::Var<bool> follow("ui.follow", true, false, true);
|
||||||
|
|
||||||
|
// pangolin::Var<bool> record("ui.record", false, false, true);
|
||||||
|
|
||||||
|
pangolin::OpenGlRenderState camera;
|
||||||
|
|
||||||
// Visualization variables
|
// Visualization variables
|
||||||
std::unordered_map<int64_t, basalt::VioVisualizationData::Ptr> vis_map;
|
std::unordered_map<int64_t, basalt::VioVisualizationData::Ptr> vis_map;
|
||||||
|
|
||||||
|
@ -379,10 +383,12 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
pangolin::View& img_view_display =
|
pangolin::View& main_display = pangolin::CreateDisplay().SetBounds(
|
||||||
pangolin::CreateDisplay()
|
0.0, 1.0, pangolin::Attach::Pix(UI_WIDTH), 1.0);
|
||||||
.SetBounds(0.4, 1.0, pangolin::Attach::Pix(UI_WIDTH), 0.4)
|
|
||||||
.SetLayout(pangolin::LayoutEqual);
|
pangolin::View& img_view_display = pangolin::CreateDisplay()
|
||||||
|
.SetBounds(0.4, 1.0, 0.0, 0.4)
|
||||||
|
.SetLayout(pangolin::LayoutEqual);
|
||||||
|
|
||||||
pangolin::View& plot_display = pangolin::CreateDisplay().SetBounds(
|
pangolin::View& plot_display = pangolin::CreateDisplay().SetBounds(
|
||||||
0.0, 0.4, pangolin::Attach::Pix(UI_WIDTH), 1.0);
|
0.0, 0.4, pangolin::Attach::Pix(UI_WIDTH), 1.0);
|
||||||
|
@ -409,7 +415,7 @@ int main(int argc, char** argv) {
|
||||||
Eigen::Vector3d cam_p(-0.5, -3, -5);
|
Eigen::Vector3d cam_p(-0.5, -3, -5);
|
||||||
cam_p = vio->getT_w_i_init().so3() * calib.T_i_c[0].so3() * cam_p;
|
cam_p = vio->getT_w_i_init().so3() * calib.T_i_c[0].so3() * cam_p;
|
||||||
|
|
||||||
pangolin::OpenGlRenderState camera(
|
camera = pangolin::OpenGlRenderState(
|
||||||
pangolin::ProjectionMatrix(640, 480, 400, 400, 320, 240, 0.001, 10000),
|
pangolin::ProjectionMatrix(640, 480, 400, 400, 320, 240, 0.001, 10000),
|
||||||
pangolin::ModelViewLookAt(cam_p[0], cam_p[1], cam_p[2], 0, 0, 0,
|
pangolin::ModelViewLookAt(cam_p[0], cam_p[1], cam_p[2], 0, 0, 0,
|
||||||
pangolin::AxisZ));
|
pangolin::AxisZ));
|
||||||
|
@ -420,6 +426,11 @@ int main(int argc, char** argv) {
|
||||||
.SetBounds(0.4, 1.0, 0.4, 1.0)
|
.SetBounds(0.4, 1.0, 0.4, 1.0)
|
||||||
.SetHandler(new pangolin::Handler3D(camera));
|
.SetHandler(new pangolin::Handler3D(camera));
|
||||||
|
|
||||||
|
display3D.extern_draw_function = draw_scene;
|
||||||
|
|
||||||
|
main_display.AddDisplay(img_view_display);
|
||||||
|
main_display.AddDisplay(display3D);
|
||||||
|
|
||||||
while (!pangolin::ShouldQuit()) {
|
while (!pangolin::ShouldQuit()) {
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
|
||||||
|
@ -444,8 +455,6 @@ int main(int argc, char** argv) {
|
||||||
display3D.Activate(camera);
|
display3D.Activate(camera);
|
||||||
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
|
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
draw_scene();
|
|
||||||
|
|
||||||
img_view_display.Activate();
|
img_view_display.Activate();
|
||||||
|
|
||||||
if (show_frame.GuiChanged()) {
|
if (show_frame.GuiChanged()) {
|
||||||
|
@ -493,6 +502,13 @@ int main(int argc, char** argv) {
|
||||||
tum_rgbd_fmt = false;
|
tum_rgbd_fmt = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if (record) {
|
||||||
|
// main_display.RecordOnRender(
|
||||||
|
// "ffmpeg:[fps=50,bps=80000000,unique_filename]///tmp/"
|
||||||
|
// "vio_screencap.avi");
|
||||||
|
// record = false;
|
||||||
|
// }
|
||||||
|
|
||||||
pangolin::FinishFrame();
|
pangolin::FinishFrame();
|
||||||
|
|
||||||
if (continue_btn) {
|
if (continue_btn) {
|
||||||
|
@ -651,7 +667,11 @@ void draw_image_overlay(pangolin::View& v, size_t cam_id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_scene() {
|
void draw_scene(pangolin::View& view) {
|
||||||
|
UNUSED(view);
|
||||||
|
view.Activate(camera);
|
||||||
|
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
glPointSize(3);
|
glPointSize(3);
|
||||||
glColor3f(1.0, 0.0, 0.0);
|
glColor3f(1.0, 0.0, 0.0);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
|
Loading…
Reference in New Issue