本文整理汇总了C++中GLUI::add_listbox_to_panel方法的典型用法代码示例。如果您正苦于以下问题:C++ GLUI::add_listbox_to_panel方法的具体用法?C++ GLUI::add_listbox_to_panel怎么用?C++ GLUI::add_listbox_to_panel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLUI
的用法示例。
在下文中一共展示了GLUI::add_listbox_to_panel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Initialize
virtual bool Initialize()
{
cur_link=0;
cur_driver=0;
link_value = 0;
driver_value = 0;
draw_geom = 1;
draw_bbs = 0;
draw_com = 0;
draw_frame = 0;
draw_expanded = 0;
draw_self_collision_tests = 0;
hoverLink=hoverWidget=-1;
hoverPt.setZero();
pose_ik = 0;
if(!RobotViewProgram::Initialize()) return false;
self_colliding.resize(robot->links.size(),false);
UpdateConfig();
/*
//TEST: robot-to-robot IK test. only works for AL5Dx2
IKGoal test;
test.link = 8;
test.destLink = 16;
test.localPosition.set(0,0,0.05);
test.endPosition.set(0,0,0.05);
//test.SetFixedPosition(test.endPosition);
Matrix3 R;
R.setRotateZ(120);
test.SetFixedRotation(R);
vector<IKGoal> problem(1,test);
int iters=100;
bool res=SolveIK(*robot,problem,1e-3,iters);
printf("Solved IK: %d, %d iters, error %g\n",(int)res,iters,RobotIKError(*robot,test));
UpdateConfig();
*/
//setup GUI
glui = GLUI_Master.create_glui_subwindow(main_window,GLUI_SUBWINDOW_RIGHT);
glui->set_main_gfx_window(main_window);
GLUI_Panel* panel = glui->add_panel("Link controls");
link_spinner = glui->add_spinner_to_panel(panel,"Index",GLUI_SPINNER_INT,&cur_link,LINK_SPINNER_ID,ControlFunc);
link_spinner->set_int_limits(0,robot->links.size()-1,GLUI_LIMIT_WRAP);
link_listbox = glui->add_listbox_to_panel(panel,"Name",&cur_link,LINK_LISTBOX_ID,ControlFunc);
for(size_t i=0;i<robot->links.size();i++) {
char buf[256];
strcpy(buf,robot->linkNames[i].c_str());
link_listbox->add_item(i,buf);
}
link_value_spinner = glui->add_spinner_to_panel(panel,"Angle",GLUI_SPINNER_FLOAT,&link_value,LINK_VALUE_SPINNER_ID,ControlFunc);
link_info = glui->add_statictext_to_panel(panel,"Info");
UpdateLinkValueGUI();
UpdateLinkInfoGUI();
panel = glui->add_panel("Driver controls");
glui->add_checkbox_to_panel(panel,"Pose by IK",&pose_ik);
driver_spinner = glui->add_spinner_to_panel(panel,"Index",GLUI_SPINNER_INT,&cur_driver,DRIVER_SPINNER_ID,ControlFunc);
driver_spinner->set_int_limits(0,(int)robot->drivers.size()-1,GLUI_LIMIT_WRAP);
driver_listbox = glui->add_listbox_to_panel(panel,"Name",&cur_driver,DRIVER_LISTBOX_ID,ControlFunc);
for(size_t i=0;i<robot->drivers.size();i++) {
char buf[256];
strcpy(buf,robot->driverNames[i].c_str());
driver_listbox->add_item(i,buf);
}
driver_value_spinner = glui->add_spinner_to_panel(panel,"Angle",GLUI_SPINNER_FLOAT,&driver_value,DRIVER_VALUE_SPINNER_ID,ControlFunc);
driver_info = glui->add_statictext_to_panel(panel,"Info");
glui->add_checkbox("Draw geometry",&draw_geom);
glui->add_checkbox("Draw COM",&draw_com);
glui->add_checkbox("Draw frame",&draw_frame);
glui->add_checkbox("Draw bboxes",&draw_bbs);
glui->add_checkbox("Draw expanded",&draw_expanded,DRAW_EXPANDED_CHECKBOX_ID,ControlFunc);
glui->add_checkbox("Draw collision tests",&draw_self_collision_tests);
UpdateDriverValueGUI();
UpdateDriverInfoGUI();
return true;
}