Beispiel #1
0
int main(int argc, char **argv)
{
	pthread_t thread1;
	
	/* Parse the command line arguments */
	std::string *projectordata;
	Projector *projector;
	for (int i=1; i < argc; i++) {
		if (strstr(argv[i],"-p") != NULL) {
			projectordata = new std::string(argv[i+1]);
			projector = new Projector(*projectordata);
			projectors.push_back(projector);
		}
	}
	fprintf(stderr, "Done initializing projectors.\n");

	/* Set things up and go */
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);

	glutCreateWindow("Pre-Distorted Scene");
	camera.aperture = aperture;
	camera.screenwidth = screenSize[0];
	camera.screenheight = screenSize[1];
	reshape(camera.screenwidth, camera.screenheight);
	glutReshapeWindow(camera.screenwidth,camera.screenheight);
	glutDisplayFunc(HandleDisplay);
	glutVisibilityFunc(HandleVisibility);
	glutKeyboardFunc(HandleKeyboard);
	glutSetCursor(GLUT_CURSOR_NONE);
	CreateEnvironment();

	/* Load the edge blending image */
	
	edgeBlending = SOIL_load_OGL_texture(
				"blending.png",
				SOIL_LOAD_AUTO,
				SOIL_CREATE_NEW_ID,
				SOIL_FLAG_INVERT_Y
			);
	if(edgeBlending == 0) {
		fprintf(stderr, "ERROR : Failed to load texture %s.\n", "blending.png");
	}

	glutFullScreen();
	if(	initExperiment(argc-1, argv+1) ) {
		/* Ready to go! */
		glutMainLoop();
		return(0);
	} else {
		fprintf(stderr, "Could not initialize experiment code.");
		return(-1);
	}
}
Beispiel #2
0
ExperimentBox::ExperimentBox(const Glib::RefPtr < Gtk::Builder >& xml,
                             Modeling* modeling)
    : mModeling(modeling), mXml(xml), mDialog(0)
{
    xml->get_widget("DialogExperiment", mDialog);
    xml->get_widget("EntryAuthor", mEntryAuthor);
    xml->get_widget("EntryDate", mEntryDate);
    xml->get_widget("ButtonCalendar", mButtonCalendar);
    xml->get_widget("ButtonNow", mButtonNow);
    xml->get_widget("EntryVersion", mEntryVersion);
    xml->get_widget("EntryName", mEntryName);
    xml->get_widget("EntryDuration", mEntryDuration);
    xml->get_widget("EntryBeginReal", mEntryBeginReal);
    xml->get_widget("EntryBeginDate", mEntryBeginDate);
    xml->get_widget("ButtonCalendarBegin", mButtonCalendarBegin);
    xml->get_widget("SpinBeginH", mSpinBeginH);
    xml->get_widget("SpinBeginM", mSpinBeginM);
    xml->get_widget("SpinBeginS", mSpinBeginS);
    xml->get_widget("HBoxCombi", mHboxCombi);
    xml->get_widget("RadioButtonLinear", mRadioButtonLinear);
    xml->get_widget("RadioButtonTotal", mRadioButtonTotal);

    mBeginRealMin = utils::DateTime::toJulianDay("1400-01-01 00:00:00");
    mBeginRealMax = utils::DateTime::toJulianDay("9999-12-31 23:59:59");

    initExperiment();

    mSigcConnection.push_back(mButtonCalendar->signal_clicked().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_calendar)));
    mSigcConnection.push_back(mButtonNow->signal_clicked().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_now)));

    mSigcConnection.push_back(mButtonCalendarBegin->signal_clicked().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_calendarBegin)));
    mSigcConnection.push_back(mSpinBeginH->signal_value_changed().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_time_changed)));
    mSigcConnection.push_back(mSpinBeginM->signal_value_changed().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_time_changed)));
    mSigcConnection.push_back(mSpinBeginS->signal_value_changed().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_time_changed)));

    mSigcConnection.push_back(mEntryBeginReal->signal_changed().connect(
        sigc::mem_fun(*this, &ExperimentBox::on_julianDate_changed)));

    mDialog->show_all();
}