void initGLUI(int window) { GLUI *gluiSide = GLUI_Master.create_glui_subwindow(window, GLUI_SUBWINDOW_RIGHT); gluiSide->set_main_gfx_window(window); gluiSide->add_button("New Curve", NEW_CURVE, gluiHandler); gluiSide->add_button("New Surface", NEW_SURFACE, gluiHandler); surfPanel = gluiSide->add_panel("Surface Parms", GLUI_PANEL_EMBOSSED); GLUI_Spinner *xS = gluiSide->add_spinner_to_panel(surfPanel, "X Pts.", GLUI_SPINNER_INT, &surf_x, SURF_X, gluiHandler); xS->set_int_limits(3, 10); GLUI_Spinner *yS = gluiSide->add_spinner_to_panel(surfPanel, "Y Pts.", GLUI_SPINNER_INT, &surf_y, SURF_Y, gluiHandler); yS->set_int_limits(3, 10); gluiSide->add_button_to_panel(surfPanel, "Ok", SURF_OK, gluiHandler); surfPanel->disable(); gluiSide->add_button("Modify Points", MODIFY, gluiHandler); gluiSide->add_button("Clear Screen", CLEAR, gluiHandler); gluiSide->add_button("Camera Mode", CAMERA, gluiHandler); gluiSide->add_separator(); GLUI_Spinner *uS = gluiSide->add_spinner("U", GLUI_SPINNER_FLOAT, &u, U, gluiHandler); uS->set_float_limits(0.0f, 1.0f); uS->set_speed(50); GLUI_Spinner *vS = gluiSide->add_spinner("V", GLUI_SPINNER_FLOAT, &v, V, gluiHandler); vS->set_float_limits(0.0f, 1.0f); vS->set_speed(50); gluiSide->add_separator(); gluiSide->add_button("Quit", QUIT, gluiHandler); }
//! This function creates all the GLUI gui elements void create_glui_ui(void) { GLUI *glui = GLUI_Master.create_glui_subwindow( main_window, GLUI_SUBWINDOW_RIGHT ); glui->add_statictext("Group 11 Simulation"); new GLUI_Separator(glui); glui->add_statictext("Simulation Timesteps"); GLUI_Spinner* velocityIterationSpinner = glui->add_spinner("Velocity Iterations", GLUI_SPINNER_INT, &settings.velocity_iterations); velocityIterationSpinner->set_int_limits(1, 500); GLUI_Spinner* positionIterationSpinner = glui->add_spinner("Position Iterations", GLUI_SPINNER_INT, &settings.position_iterations); positionIterationSpinner->set_int_limits(0, 100); GLUI_Spinner* hertzSpinner = glui->add_spinner("Sim steps per frame", GLUI_SPINNER_FLOAT, &settings.hz); hertzSpinner->set_float_limits(5.0f, 200.0f); new GLUI_Separator(glui); //new GLUI_Column( glui, false ); glui->add_statictext("Simulation Parameters"); glui->add_checkbox("Warm Starting", &settings.enable_warm_starting); glui->add_checkbox("Time of Impact", &settings.enable_continuous); glui->add_checkbox("Sub-Stepping", &settings.enable_sub_stepping); //new GLUI_Column( glui, false ); new GLUI_Separator(glui); glui->add_statictext("Display Options"); GLUI_Panel* drawPanel = glui->add_panel("Draw"); glui->add_checkbox_to_panel(drawPanel, "Shapes", &settings.draw_shapes); glui->add_checkbox_to_panel(drawPanel, "Joints", &settings.draw_joints); glui->add_checkbox_to_panel(drawPanel, "AABBs", &settings.draw_AABBs); glui->add_checkbox_to_panel(drawPanel, "Statistics", &settings.draw_stats); glui->add_checkbox_to_panel(drawPanel, "Profile", &settings.draw_profile); //new GLUI_Column( glui, false ); new GLUI_Separator(glui); glui->add_button("Pause", 0, callbacks_t::pause_cb); glui->add_button("Single Step", 0, callbacks_t::single_step_cb); glui->add_button("Restart", 0, callbacks_t::restart_cb); glui->add_button("Quit", 0,(GLUI_Update_CB)callbacks_t::exit_cb); glui->set_main_gfx_window( main_window ); new GLUI_Separator(glui); glui->add_statictext("Mayank Meghwanshi"); glui->add_statictext("Divyam Bansal"); glui->add_statictext("Jaswant Kumar"); }
bool GLUIRealTimePlannerGUI::Initialize() { if(!BaseT::Initialize()) return false; glui = GLUI_Master.create_glui_subwindow(main_window,GLUI_SUBWINDOW_RIGHT); glui->set_main_gfx_window(main_window); AddControl(glui->add_button("New target"),"new_target"); AddControl(glui->add_checkbox("Draw desired"),"draw_desired"); AddControl(glui->add_checkbox("Draw commanded"),"draw_desired"); AddControl(glui->add_checkbox("Draw UI"),"draw_ui"); AddControl(glui->add_checkbox("Draw path"),"draw_path"); AddControl(glui->add_checkbox("Draw contacts"),"draw_contacts"); GLUI_Spinner* spinner = glui->add_spinner("Collision margin",GLUI_SPINNER_FLOAT); spinner->set_float_limits(0.0,1.0); AddControl(spinner,"collision_margin"); AnyCollection c; bool res=c.read("{type:button_press,button:new_target}"); Assert(res == true); AddCommandRule(c,"new_target",""); res=c.read("{type:widget_value,widget:collision_margin,value:_1}"); Assert(res == true); AddCommandRule(c,"set_collision_margin","_1"); printf("Done initializing...\n"); return true; }
int main(int argc, char* argv[]) { /****************************************/ /* Initialize GLUT and create window */ /****************************************/ glutInit(&argc, argv); glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ); glutInitWindowPosition( 50, 50 ); glutInitWindowSize( 300, 300 ); main_window = glutCreateWindow( "GLUI Example 1" ); glutDisplayFunc( myGlutDisplay ); glutReshapeFunc( myGlutReshape ); /****************************************/ /* Set up OpenGL lights */ /****************************************/ GLfloat light0_ambient[] = {0.1f, 0.1f, 0.3f, 1.0f}; GLfloat light0_diffuse[] = {.6f, .6f, 1.0f, 1.0f}; GLfloat light0_position[] = {1.0f, 1.0f, 1.0f, 0.0f}; glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_AMBIENT, light0_ambient); glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse); glLightfv(GL_LIGHT0, GL_POSITION, light0_position); /****************************************/ /* Enable z-buferring */ /****************************************/ glEnable(GL_DEPTH_TEST); /****************************************/ /* Here's the GLUI code */ /****************************************/ GLUI *glui = GLUI_Master.create_glui( "GLUI" ); glui->add_checkbox( "Wireframe", &wireframe ); GLUI_Spinner *segment_spinner = glui->add_spinner( "Segments:", GLUI_SPINNER_INT, &segments ); segment_spinner->set_int_limits( 3, 60 ); glui->set_main_gfx_window( main_window ); /* We register the idle callback with GLUI, *not* with GLUT */ GLUI_Master.set_glutIdleFunc( myGlutIdle ); glutMainLoop(); }
int main(int argc, char** args) { glutInit(&argc, args); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowPosition(100, 100); glutInitWindowSize(800, 600); //glutPassiveMotionFunc(move); init(); gl_DrawShape(); main_window = glutCreateWindow("3D and 2D Super shapes"); glutDisplayFunc(display); glutReshapeFunc(reshapeWindow); GLUI *glui = GLUI_Master.create_glui_subwindow( main_window, GLUI_SUBWINDOW_LEFT); GLUI_Master.set_glutIdleFunc(myGlutIdle); //GLUI_Master.set_glutDisplayFunc(display); m = glui->add_spinner("Change m", GLUI_SPINNER_FLOAT, 0, 0, changeSpinner); //m->set_int_limits(0, 5, GLUI_LIMIT_WRAP); m->set_speed(0.2f); n1 = glui->add_spinner("Change n1", GLUI_SPINNER_FLOAT, 0, 1, changeSpinner); //n1->set_int_limits(0, 5, GLUI_LIMIT_WRAP); n1->set_speed(0.2f); n2 = glui->add_spinner("Change n2", GLUI_SPINNER_FLOAT, 0, 2, changeSpinner); //n2->set_int_limits(0, 5, GLUI_LIMIT_WRAP); n2->set_speed(0.2f); n3 = glui->add_spinner("Change n3", GLUI_SPINNER_FLOAT, 0, 3, changeSpinner); //n3->set_int_limits(0, 5, GLUI_LIMIT_WRAP); n3->set_speed(0.2f); a = glui->add_spinner("Change a", GLUI_SPINNER_INT, 0, 4, changeSpinner); //a->set_int_limits(0, 5, GLUI_LIMIT_WRAP); a->set_speed(0.05f); b = glui->add_spinner("Change b", GLUI_SPINNER_INT, 0, 5, changeSpinner); //b->set_int_limits(0, 5, GLUI_LIMIT_WRAP); b->set_speed(0.05f); glui->add_button("Close", 0, (GLUI_Update_CB )exit); //shape->draw(); //renderFrame(shape); //setup(); //draw(); //shape->draw(); glutMainLoop(); // Create a CMyWindow object // Run the application's message loop return 0; }
// Do some GLUT initialization, also set up GLUI void setupGLUT(char* programName) { glutInitDisplayMode(GLUT_DEPTH | GLUT_RGBA | GLUT_DOUBLE); glutInitWindowPosition(100,100); glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT); mainWindow = glutCreateWindow(programName); glutReshapeFunc(reshape); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMouseFunc(mouse); glutMotionFunc(mouseMove); glutIdleFunc(idle); glutTimerFunc(tickSpeed, tick, 0); GLUI_Master.set_glutKeyboardFunc(keyboard); GLUI_Master.set_glutReshapeFunc(reshape); //GLUI stuff gluiWindow = GLUI_Master.create_glui_subwindow(mainWindow, GLUI_SUBWINDOW_RIGHT); camRotateTrans = gluiWindow->add_translation("Rotate Camera", GLUI_TRANSLATION_XY, cameraRotate); camRotateTrans->set_speed(0.01f); camZoomTrans = gluiWindow->add_translation("Zoom Camera", GLUI_TRANSLATION_Z, cameraZoom); camZoomTrans->set_speed(0.1f); gluiWindow->add_separator(); gluiWindow->add_button( "Quit", 0,(GLUI_Update_CB)exit ); GLUI_Panel *viewPanel = gluiWindow->add_panel("Camera View", GLUI_PANEL_EMBOSSED); GLUI_RadioGroup *cameraRadio = gluiWindow->add_radiogroup_to_panel(viewPanel, &cameraMode); gluiWindow->add_radiobutton_to_group(cameraRadio, "Free Look"); gluiWindow->add_radiobutton_to_group(cameraRadio, "Third Person"); gluiWindow->add_radiobutton_to_group(cameraRadio, "Top View"); GLUI *gluiWindowLeft = GLUI_Master.create_glui_subwindow(mainWindow, GLUI_SUBWINDOW_LEFT); angleSpinner = gluiWindowLeft->add_spinner("Angle", GLUI_SPINNER_INT, &launchAngle); angleSpinner->set_int_limits(0, 359, GLUI_LIMIT_WRAP); angleSpinner->set_speed(0.2); angleSpinner->set_int_val(launchAngle); powerSpinner = gluiWindowLeft->add_spinner("Power", GLUI_SPINNER_INT, &launchPower); powerSpinner->set_int_limits(1, MAX_SPEED, GLUI_LIMIT_CLAMP); powerSpinner->set_int_val(launchPower); powerSpinner->set_speed(0.1); fireButton = gluiWindowLeft->add_button("Go!", 0, launchBall); newPlayerButton = gluiWindowLeft->add_button("New Player" , 1, addNewPlayer); //currentProfile = gluiWindowLeft->add_listbox( GLUI_Panel *holePanel = gluiWindowLeft->add_panel("Profile"); userName = gluiWindowLeft->add_statictext_to_panel(holePanel, "Player: "); currentHole = gluiWindowLeft->add_statictext_to_panel(holePanel, "Hole: "); totalNumHoles = gluiWindowLeft->add_statictext_to_panel(holePanel, "Total Holes: "); numStrokes = gluiWindowLeft->add_statictext_to_panel(holePanel, "Current Stroke: "); par = gluiWindowLeft->add_statictext_to_panel(holePanel, "Par: "); // Set glui initial values numStrokes->set_int_val(0); GLUI_Panel *scoresPanel = gluiWindowLeft->add_panel("High Scores"); highScoresList[0] = gluiWindowLeft->add_statictext_to_panel(scoresPanel, "No high scores"); highScoresList[1] = gluiWindowLeft->add_statictext_to_panel(scoresPanel, ""); highScoresList[2] = gluiWindowLeft->add_statictext_to_panel(scoresPanel, ""); highScoresList[3] = gluiWindowLeft->add_statictext_to_panel(scoresPanel, ""); highScoresList[4] = gluiWindowLeft->add_statictext_to_panel(scoresPanel, ""); soundButton = gluiWindowLeft->add_button("Toggle Music", 0, soundTest); GLUI_Master.auto_set_viewport(); gluiWindow->set_main_gfx_window(mainWindow); GLUI_Master.set_glutIdleFunc(idle); GLUI_Master.sync_live_all(); }