in roboschool/cpp-household/test-tool-qt4.cpp [320:374]
int main(int argc, char *argv[])
{
#ifdef Q_MAC_OS
[NSApp activateIgnoringOtherApps:YES];
#endif
if (argc < 2) {
fprintf(stderr, "This is robot/model testing utility.\n\nUsage:\n");
fprintf(stderr, "%s <urdf_resources_dir> <urdf>\n", argv[0]);
fprintf(stderr, "%s <model_obj_dae_stl_etc>\n", argv[0]);
fprintf(stderr, "\nUseful examples:\n");
fprintf(stderr, "%s models_robot r2d2.urdf\n", argv[0]);
fprintf(stderr, "%s models_robot fetch_description/robots/fetch.urdf\n", argv[0]);
fprintf(stderr, "%s models_robot pr2_description/pr2_desc.urdf\n", argv[0]);
return 1;
}
world.reset(new World);
SimpleRender::opengl_init_before_app(world);
QApplication app(argc, argv);
SimpleRender::opengl_init(world);
fprintf(stderr, "Press F3 to force reload (when you change dependencies of file)\n");
the_filename = argv[1];
world->bullet_init(0.0*SCALE, 1/60.0/4);
load_model_or_robot();
if (!the_robot && !the_model) return 1; // warning printed
TestWindow window(world);
window.resize(1280, 1024);
window.show();
QEventLoop loop;
while (1) {
world->bullet_step(1); // Slowmo, 4 for normal.
window.timeout();
loop.processEvents(QEventLoop::AllEvents);
if (!window.isVisible()) break;
window.setWindowTitle(
QString("%4 — %1 objects, %2ms bullet, %3ms render")
. arg(window.viz->ms_render_objectcount)
. arg(world->performance_bullet_ms, 0, 'f', 2)
. arg(window.viz->ms_render, 0, 'f', 2)
. arg(QString::fromLocal8Bit(the_filename.c_str())) );
}
the_model.reset();
the_robot.reset();
world.reset();
return 0;
}