00001 #include <vgui/vgui.h>
00002 #include <vgui/vgui_key.h>
00003 #include <vgui/vgui_menu.h>
00004 #include <bmvv/bmvv_f_manager.h>
00005 #include <bmvv/bmvv_f_menus.h>
00006
00007
00008
00009
00010 void bmvv_f_menus::quit_callback()
00011 {
00012 bmvv_f_manager::instance()->quit();
00013 }
00014
00015
00016 void bmvv_f_menus::load_image_callback()
00017 {
00018 bmvv_f_manager::instance()->load_image();
00019 }
00020
00021 void bmvv_f_menus::load_image_and_cam_callback()
00022 {
00023 bmvv_f_manager::instance()->load_image_and_cam();
00024 }
00025
00026 void bmvv_f_menus::save_image_callback()
00027 {
00028 bmvv_f_manager::instance()->save_image();
00029 }
00030
00031
00032 void bmvv_f_menus::clear_display_callback()
00033 {
00034 bmvv_f_manager::instance()->clear_display();
00035 }
00036
00037 void bmvv_f_menus::read_corrs_callback()
00038 {
00039 bmvv_f_manager::instance()->read_corrs();
00040 }
00041
00042 void bmvv_f_menus::load_world_callback()
00043 {
00044 bmvv_f_manager::instance()->load_world();
00045 }
00046
00047 void bmvv_f_menus::save_world_callback()
00048 {
00049 bmvv_f_manager::instance()->save_world();
00050 }
00051
00052 void bmvv_f_menus::reconstruct_world_callback()
00053 {
00054 bmvv_f_manager::instance()->reconstruct_world();
00055 }
00056
00057 void bmvv_f_menus::save_corrs_callback()
00058 {
00059 bmvv_f_manager::instance()->save_corrs();
00060 }
00061
00062 void bmvv_f_menus::display_corrs_callback()
00063 {
00064 bmvv_f_manager::instance()->display_corrs();
00065 }
00066
00067 void bmvv_f_menus::project_world_callback()
00068 {
00069 bmvv_f_manager::instance()->project_world();
00070 }
00071
00072 void bmvv_f_menus::read_f_matrix_callback()
00073 {
00074 bmvv_f_manager::instance()->read_f_matrix();
00075 }
00076
00077 void bmvv_f_menus::save_f_matrix_callback()
00078 {
00079 bmvv_f_manager::instance()->save_f_matrix();
00080 }
00081
00082 void bmvv_f_menus::display_right_epi_lines_callback()
00083 {
00084 bmvv_f_manager::instance()->display_right_epi_lines();
00085 }
00086
00087 void bmvv_f_menus::display_picked_epi_line_callback()
00088 {
00089 bmvv_f_manager::instance()->display_picked_epi_line();
00090 }
00091
00092 void bmvv_f_menus::create_correspondence_callback()
00093 {
00094 bmvv_f_manager::instance()->create_correspondence();
00095 }
00096
00097 void bmvv_f_menus::pick_correspondence_callback()
00098 {
00099 bmvv_f_manager::instance()->pick_correspondence();
00100 }
00101
00102 void bmvv_f_menus::compute_f_matrix_callback()
00103 {
00104 bmvv_f_manager::instance()->compute_f_matrix();
00105 }
00106
00107 void bmvv_f_menus::set_range_params_callback()
00108 {
00109 bmvv_f_manager::instance()->set_range_params();
00110 }
00111 void bmvv_f_menus::intensity_profile_callback()
00112 {
00113 bmvv_f_manager::instance()->intensity_profile();
00114 }
00115
00116 void bmvv_f_menus::intensity_histogram_callback()
00117 {
00118 bmvv_f_manager::instance()->intensity_histogram();
00119 }
00120
00121
00122 vgui_menu bmvv_f_menus::get_menu()
00123 {
00124 vgui_menu menubar;
00125 vgui_menu menufile;
00126 vgui_menu menuview;
00127 vgui_menu menuedit;
00128
00129
00130 menufile.add( "Quit(CTL-q)", quit_callback,(vgui_key)'q', vgui_CTRL);
00131 menufile.add( "Load Image(CTL-l)", load_image_callback,(vgui_key)'l', vgui_CTRL);
00132 menufile.add( "Load Image and Camera", load_image_and_cam_callback);
00133 menufile.add( "Save Image", save_image_callback);
00134 menufile.add( "Read Correspondences", read_corrs_callback);
00135 menufile.add( "Save Correspondences", save_corrs_callback);
00136 menufile.add( "Load world", load_world_callback);
00137 menufile.add( "Save world", save_world_callback);
00138 menufile.add( "Read F Matrix", read_f_matrix_callback);
00139 menufile.add( "Save F Matrix", save_f_matrix_callback);
00140
00141
00142 menuview.add("Set Range Params", set_range_params_callback);
00143 menuview.add("Intensity Profile", intensity_profile_callback);
00144 menuview.add("Histogram Plot ", intensity_histogram_callback);
00145 menuview.add( "Clear Geometry(selected pane)", clear_display_callback);
00146 menuview.add( "Display Corrs", display_corrs_callback);
00147 menuview.add( "Display World", project_world_callback);
00148 menuview.add( "Display Right Epipolar Lines", display_right_epi_lines_callback);
00149 menuview.add( "Display Picked Epipolar Lines(d)", display_picked_epi_line_callback, (vgui_key)'d');
00150
00151
00152
00153 menuedit.add( "Create Correspondence(k)", create_correspondence_callback, (vgui_key)'k');
00154 menuedit.add( "Pick Correspondence(p)", pick_correspondence_callback,(vgui_key)'p');
00155 menuedit.add( "Compute F Matrix", compute_f_matrix_callback);
00156 menuedit.add( "Reconstruct World Points", reconstruct_world_callback);
00157
00158
00159
00160
00161 menubar.add( "File", menufile);
00162 menubar.add( "View", menuview);
00163 menubar.add( "Edit", menuedit);
00164 return menubar;
00165 }
00166
00167