int main()

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;
}