00001 #include <vgui/vgui.h>
00002 #include <vgui/vgui_key.h>
00003 #include <vgui/vgui_menu.h>
00004 #include <bmvv/bmvv_multiview_manager.h>
00005 #include <bmvv/bmvv_menus.h>
00006
00007
00008
00009 void bmvv_menus::quit_callback()
00010 {
00011 bmvv_multiview_manager::instance()->quit();
00012 }
00013
00014
00015 void bmvv_menus::load_image_callback()
00016 {
00017 bmvv_multiview_manager::instance()->load_image();
00018 }
00019
00020 void bmvv_menus::clear_display_callback()
00021 {
00022 bmvv_multiview_manager::instance()->clear_display();
00023 }
00024
00025 void bmvv_menus::clear_selected_callback()
00026 {
00027 bmvv_multiview_manager::instance()->clear_selected();
00028 }
00029
00030 void bmvv_menus::vd_edges_callback()
00031 {
00032 bmvv_multiview_manager::instance()->vd_edges();
00033 }
00034
00035 void bmvv_menus::track_edges_callback()
00036 {
00037 bmvv_multiview_manager::instance()->track_edges();
00038 }
00039
00040 #ifdef HAS_XERCES
00041 void bmvv_menus::read_xml_edges_callback()
00042 {
00043 bmvv_multiview_manager::instance()->read_xml_edges();
00044 }
00045 #endif
00046
00047 void bmvv_menus::show_epipolar_line_callback()
00048 {
00049 bmvv_multiview_manager::instance()->show_epipolar_line();
00050 }
00051
00052 void bmvv_menus::select_curve_corres_callback()
00053 {
00054 bmvv_multiview_manager::instance()->select_curve_corres();
00055 }
00056
00057
00058 vgui_menu bmvv_menus::get_menu()
00059 {
00060 vgui_menu menubar;
00061 vgui_menu menufile;
00062 vgui_menu menuview;
00063 vgui_menu menuedit;
00064
00065 menufile.add( "Load Image", load_image_callback,(vgui_key)'l', vgui_CTRL);
00066 menufile.add( "Quit", quit_callback,(vgui_key)'q', vgui_CTRL);
00067 #ifdef HAS_XERCES
00068 menufile.add( "Load XML Edges", read_xml_edges_callback);
00069 #endif
00070
00071 menuview.add("Clear Display", clear_display_callback);
00072 menuview.add("Clear Selected", clear_selected_callback);
00073 menuview.add( "Epipolar Line", show_epipolar_line_callback,
00074 (vgui_key)'e', vgui_CTRL);
00075
00076 menuedit.add("VD Edges", vd_edges_callback);
00077 menuedit.add("Select Edges", select_curve_corres_callback);
00078 menuedit.add("Track Edges", track_edges_callback);
00079
00080 menubar.add( "File", menufile);
00081 menubar.add( "View", menuview);
00082 menubar.add( "Edit", menuedit);
00083 return menubar;
00084 }
00085