00001 #include "bmvv_cal_menus.h"
00002
00003
00004 #include <vgui/vgui.h>
00005 #include <vgui/vgui_key.h>
00006 #include <vgui/vgui_menu.h>
00007 #include <bmvv/bmvv_cal_manager.h>
00008
00009
00010
00011 void bmvv_cal_menus::quit_callback()
00012 {
00013 bmvv_cal_manager::instance()->quit();
00014 }
00015
00016 void bmvv_cal_menus::load_image_callback()
00017 {
00018 bmvv_cal_manager::instance()->load_image();
00019 }
00020
00021 void bmvv_cal_menus::save_image_callback()
00022 {
00023 bmvv_cal_manager::instance()->save_image();
00024 }
00025
00026 void bmvv_cal_menus::adjust_contrast_callback()
00027 {
00028 bmvv_cal_manager::instance()->adjust_contrast();
00029 }
00030
00031 void bmvv_cal_menus::set_range_params_callback()
00032 {
00033 bmvv_cal_manager::instance()->set_range_params();
00034 }
00035
00036 void bmvv_cal_menus::clear_display_callback()
00037 {
00038 bmvv_cal_manager::instance()->clear_display();
00039 }
00040
00041 void bmvv_cal_menus::clear_selected_callback()
00042 {
00043 bmvv_cal_manager::instance()->clear_selected();
00044 }
00045
00046 void bmvv_cal_menus::compute_ransac_homography_callback()
00047 {
00048 bmvv_cal_manager::instance()->compute_ransac_homography();
00049 }
00050
00051 void bmvv_cal_menus::load_image_and_camera_callback()
00052 {
00053 bmvv_cal_manager::instance()->load_image_and_camera();
00054 }
00055
00056 void bmvv_cal_menus::save_camera_callback()
00057 {
00058 bmvv_cal_manager::instance()->save_camera();
00059 }
00060
00061 void bmvv_cal_menus::load_corrs_callback()
00062 {
00063 bmvv_cal_manager::instance()->load_corrs();
00064 }
00065
00066 void bmvv_cal_menus::save_corrs_callback()
00067 {
00068 bmvv_cal_manager::instance()->save_corrs();
00069 }
00070
00071 void bmvv_cal_menus::save_constraints_callback()
00072 {
00073 bmvv_cal_manager::instance()->save_constraints();
00074 }
00075
00076
00077 void bmvv_cal_menus::load_world_callback()
00078 {
00079 bmvv_cal_manager::instance()->load_world();
00080 }
00081
00082 void bmvv_cal_menus::save_world_callback()
00083 {
00084 bmvv_cal_manager::instance()->save_world();
00085 }
00086
00087 void bmvv_cal_menus::save_world_ply2_callback()
00088 {
00089 bmvv_cal_manager::instance()->save_world_ply2();
00090 }
00091
00092 void bmvv_cal_menus::read_world_ply2_callback()
00093 {
00094 bmvv_cal_manager::instance()->read_world_ply2();
00095 }
00096
00097 void bmvv_cal_menus::ply2_to_vrml_callback()
00098 {
00099 bmvv_cal_manager::instance()->ply2_to_vrml();
00100 }
00101
00102 void bmvv_cal_menus::pick_correspondence_callback()
00103 {
00104 bmvv_cal_manager::instance()->pick_correspondence();
00105 }
00106
00107 void bmvv_cal_menus::remove_correspondence_callback()
00108 {
00109 bmvv_cal_manager::instance()->remove_correspondence();
00110 }
00111
00112 void bmvv_cal_menus::pick_vertical_callback()
00113 {
00114 bmvv_cal_manager::instance()->pick_vertical();
00115 }
00116
00117
00118 void bmvv_cal_menus::solve_camera_callback()
00119 {
00120 bmvv_cal_manager::instance()->solve_camera();
00121 }
00122
00123 void bmvv_cal_menus::set_identity_camera_callback()
00124 {
00125 bmvv_cal_manager::instance()->set_identity_camera();
00126 }
00127
00128 void bmvv_cal_menus::map_image_to_world_callback()
00129 {
00130 bmvv_cal_manager::instance()->map_image_to_world();
00131 }
00132
00133 void bmvv_cal_menus::clear_world_callback()
00134 {
00135 bmvv_cal_manager::instance()->clear_world();
00136 }
00137
00138 void bmvv_cal_menus::set_height_callback()
00139 {
00140 bmvv_cal_manager::instance()->set_height();
00141 }
00142
00143 void bmvv_cal_menus::pick_polygon_callback()
00144 {
00145 bmvv_cal_manager::instance()->pick_polygon();
00146 }
00147
00148 void bmvv_cal_menus::confirm_polygon_callback()
00149 {
00150 bmvv_cal_manager::instance()->confirm_polygon();
00151 }
00152
00153 void bmvv_cal_menus::create_box_callback()
00154 {
00155 bmvv_cal_manager::instance()->create_box();
00156 }
00157
00158
00159 vgui_menu bmvv_cal_menus::get_menu()
00160 {
00161 vgui_menu menubar;
00162 vgui_menu menufile;
00163 vgui_menu menuview;
00164 vgui_menu menuedit;
00165 vgui_menu menucal;
00166 vgui_menu menumodel;
00167 vgui_menu menudebug;
00168
00169 menufile.add( "Load Image", load_image_callback,(vgui_key)'l', vgui_CTRL);
00170 menufile.add( "Save Image", save_image_callback);
00171 menufile.add( "Load Image and Cam", load_image_and_camera_callback);
00172 menufile.add("Save Camera", save_camera_callback);
00173 menufile.add( "Load Coors", load_corrs_callback);
00174 menufile.add( "Save Coors", save_corrs_callback);
00175 menufile.add( "Load World ", load_world_callback);
00176 menufile.add( "Save World ", save_world_callback);
00177 menufile.add( "Read World Ply2 ", read_world_ply2_callback);
00178 menufile.add( "Save World Ply2 ", save_world_ply2_callback);
00179 menufile.add( "Save Constraints", save_constraints_callback);
00180 menufile.add( "ply2->vrml", ply2_to_vrml_callback);
00181 menufile.add( "Quit", quit_callback,(vgui_key)'q', vgui_CTRL);
00182
00183
00184 menuview.add("Clear Display", clear_display_callback);
00185 menuview.add("Clear Selected", clear_selected_callback);
00186 menuview.add("Adjust Contrast", adjust_contrast_callback);
00187 menuview.add("Set Range Params", set_range_params_callback);
00188 menuview.add("Map Image to World", map_image_to_world_callback);
00189
00190
00191
00192
00193
00194
00195
00196 menucal.add("Set Identity Camera",set_identity_camera_callback);
00197 menucal.add("Compute Ransac Homography (RREL)",
00198 compute_ransac_homography_callback);
00199 menucal.add("Pick Correspondence", pick_correspondence_callback,(vgui_key)'p');
00200
00201 menucal.add("Remove Correspondence", remove_correspondence_callback,(vgui_key)'r');
00202 menucal.add("Pick vertical", pick_vertical_callback, (vgui_key)'l');
00203 menucal.add("Solve Camera", solve_camera_callback);
00204
00205 menumodel.add("Clear World", clear_world_callback, (vgui_key)'w');
00206 menumodel.add("Set Height", set_height_callback, (vgui_key)'z');
00207 menumodel.add("Draw Polygon", pick_polygon_callback, (vgui_key)'g');
00208 menumodel.add("Validate Last Polygon", confirm_polygon_callback, (vgui_key)'v');
00209 menumodel.add("Create Box", create_box_callback, (vgui_key)'b');
00210
00211
00212 menubar.add( "File", menufile);
00213 menubar.add( "View", menuview);
00214 menubar.add( "Edit", menuedit);
00215 menubar.add( "Calib", menucal);
00216 menubar.add( "Model", menumodel);
00217 return menubar;
00218 }
00219