contrib/brl/bmvl/bmvv/bmvv_cal_menus.cxx
Go to the documentation of this file.
00001 #include "bmvv_cal_menus.h"
00002 //:
00003 // \file
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 //Static munu callback functions
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 //bmvv_cal_menus definition
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   //file menu entries
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   //view menu entries
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   //edit menu entries
00191 
00192 //debug menus entries
00193 
00194 //Calibration menu
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   //modeling menu
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   //Top level menu layout
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